web网页播放音频文件
我们的产品或者运营为了监控主播聊天记录,给开发提了一个需求,就是在管理后台增加一个列表,用于查看主播和所有男用户的聊天记录。
初步完成需求,就是直接把聊天记录份分页显示出来,加了一些查询条件。
使用期间发现,音频文件并没有在线播放,要求能播放。
于是加了一段如下的代码,但是无法播放,后来发现我们的音频文件竟然是amr文件。
请注意:amr文件用<audio>标签是无法播放的
<audio controls="controls" ><source id="audioSouce_${index.count}" src="" type="audio/mpeg" />
</audio>
然后各种百度,大概就是有两种方法:
- 将amr文件转换成mp3文件;
- web 网页直接播放amr文件;
先说web网页播放amr文件,试了一下,但是发现js的FileReader无法读取服务器上的文件,用HttpRequest,大概就是域名或者nginx跨不过去。后来放弃了。
推荐链接:
https://blog.csdn.net/qq_43466173/article/details/86540193
https://www.cnblogs.com/yuhongda0315/p/5224188.html
说一下arm文件转换成mp3文件,
本身项目里有jave-1.0.2.jar,我看了一下这个版本也是最新的。但是转换出的mp3文件大小都是261kb,还无法播放。
百度一些资料后,大概就是有个ffmpeg。
我反复试了很多次,说一下最后的实现方式吧:
1. 并没有用jave,用的是linux命令执行的转换。
首先要安装一个ffmpeg。依据不同的系统下载:http://ffmpeg.org/download.html
2. 在linux的安装命令,执行ffmpeg -i ***.amr ***.mp3,然后用网页播放mp3文件,如果能播放就没问题。
3. 在java代码执行,执行ffmpeg -i ***.amr ***.mp3。注意:有的时候还是不会生成mp3文件,最后折中的办法是把amr文件的地址暴露出来,如果不能转换播放的, 直接就复制amr文件播放。
Process p = null; Runtime runtime = Runtime.getRuntime(); try {p = runtime.exec(ffmpegPath + "./ffmpeg -i " + sourcePath + " " + targetPath);//执行ffmpeg.exe,前面是ffmpeg.exe的地址,中间是需要转换的文件地址,后面是转换后的文件地址。-i是转换方式,意思是可编码解码,mp3编码方式采用的是libmp3lame } catch (IOException e) {logger.error("异常", e); } finally {//释放进程try {p.getOutputStream().close();} catch (IOException e) {logger.error("异常", e);}try {p.getInputStream().close();} catch (IOException e) {logger.error("异常", e);}try {p.getErrorStream().close();} catch (IOException e) {logger.error("异常", e);}try {p.waitFor();} catch (InterruptedException e) {logger.error("异常", e);}runtime.freeMemory(); }
欢迎指教。
web网页播放音频文件相关推荐
- Discuz论坛web网页mp3音频播放器源码下载
最近在做一个DZ论坛的搭建,在前几天的时候遇到Flash+Js的幻灯片的问题,特写了一篇<JS+Flash焦点图轮播源代码(2屏,3屏,多屏)>来记录论坛搭建过程遇到的一些技术性问题,以便 ...
- Unity 播放音频文件
Unity 播放音频文件参考代码: 1 public void Play(string strSoundName, float autoDestroyTime = 0f, bool bLoop = f ...
- ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件...
原文:ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件 先看效果图,然后上代码: <UserControl x:Class= ...
- C#调用mciSendString播放音频文件
mciSendString函数是一个WinAPI,主要用来向MCI(Media Control Interface)设备发送字符串命令. 一.函数的声明如下: private static exter ...
- 如何实现在直播中播放音频文件
在我们看直播的时候,经常会在直播过程中听到有掌声.口哨声.背景音乐等音效,那么这些声音特效是如何实现的呢大家有没有想过?anyRTC下面就为大家简单介绍一下如何实现在直播过程中播放音频文件. 功能描述 ...
- js 自动播放音频文件,报警提示音等
js 自动播放音频文件,报警提示音等 谷歌浏览器的音频,默认是不能在页面载入时直接自动播放的. 至少需要用户点击一下页面,才可以播放音频,这个策略的目的是保证用户的体验感,如果每个页面都能在用户未接触 ...
- python播放音频文件_详解使用pygame播放一段MP3音频文件
近日,在梳理pygame模块的时候发现一个很有用的模块mixer模块,这个模块翻译过来就是混音器,它可以加载和播放音频文件,甚至可以对混音器进行设置和处理,其功能非常强大.今天,我们一起来梳理一下混音 ...
- 使用树莓派播放音频文件
使用树莓派播放音频文件 一.首先,我们需要对树莓派的音频输出进行设置 步骤1:登录树莓派,打开终端,执行sudo raspi-config命令 步骤2:选择第7项Advanced Options高级选 ...
- 使用微信API实现H5页面播放音频文件
之前在处理H5页面播放音频文件的时候,总是需要搞一个https才能正常播放,一次无意浏览到了一个自动播放音频的页面,发现了使用微信Api可以不使用https也能播放音频文件.作为记录,简单页面实现如下 ...
- h5 audio播放音频文件
h5 audio播放音频文件 注:下面html中样式及不相关的内容去掉了 第一个例子 播放没有防盗链的外网音频文件是可以的 <!doctype html> <html> < ...
最新文章
- K8S的横向自动扩容的功能Horizontal Pod Autoscaling
- 情感分析研究:还未结束!
- 第二层EtherChannel
- rtems线程管理与调度(一)
- OpenStack 实现技术分解 (7) 通用库 — oslo_config
- 单点登录cas常见问题(四) - ticket有哪些存储方式?
- 使用FCN做图像语义分割(实践篇)
- c语言time_t转oletime,DateTimeFormatter可以格式化日期,但不能读取它自己的格式
- python爬虫案例——根据网址爬取中文网站,获取标题、子连接、子连接数目、连接描述、中文分词列表
- 阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_04.mybatis概述
- java double 移位_【原创】Java移位运算
- java简历包装项目经验,项目实战
- mac自带的词典不能用
- php 占比图,深度|丹尼·格林和克莱·汤普森,两位顶级3D差距在哪里?
- 南京农业大学计算机学硕分数线,2020南京农业大学考研复试分数线已公布
- C语音 unsigned char, int的取值范围
- 带你走进组件化(三)—— 曲径
- excel oss 上传_excel上传数据库失败
- 【软件构造】LAB1实验报告
- 百度首次元宇宙里开大会,李彦宏:智能交通将使5年内一线城市不再限购限行...