网页开发之amr音频的播放
mp3格式播放大家都知道,amr格式就陌生了,至少我之前没有做过
amr格式文件播放出来的声音音质比mp3差,主要应用于手机铃声和手机录音,目的是为了给手机用户节省流量。大部分主流的音视频播放器都支持amr格式,现在要实现网页播放有点问题(还要考虑兼容性)。百度一番,调试一番,终于听到声音了。
笔者采用的播放插件是QuickTime,不知道的可以百科一下,下面就是方法了:
1、下载QuickTime软件并安装,地址 http://www.apple.com/quicktime/download/index.html
2、在网页添加以下代码
//<//embed controller="true" bgcolor="black" target="myself" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/index.html" align="middle" height="10" width="1000">
3、效果,无图无真相,进度条会动的哦
[转载]网页开发之amr音频的播放(后台判断音频长度)
IE、FireFox、chrome测试通过。
另外附上后台得到amr音频的播放长度的java代码
public static long getAmrDuration(File file) throws IOException { long duration = -1; int[] packedSize = { 12, 13, 15, 17, 19, 20, 26, 31, 5, 0, 0, 0, 0, 0, 0, 0 }; RandomAccessFile randomAccessFile = null; try { randomAccessFile = new RandomAccessFile(file, "rw"); long length = file.length();//文件的长度 int pos = 6;//设置初始位置 int frameCount = 0;//初始帧数 int packedPos = -1; byte[] datas = new byte[1];//初始数据值 while (pos <= length) { randomAccessFile.seek(pos); if (randomAccessFile.read(datas, 0, 1) != 1) { duration = length > 0 ? ((length - 6) / 650) : 0; break; } packedPos = (datas[0] >> 3) & 0x0F; pos += packedSize[packedPos] + 1; frameCount++; } duration += frameCount * 20;//帧数*20 } finally { if (randomAccessFile != null) { randomAccessFile.close(); } } return duration; }
方法自己调用,亲测可用。
转载于:https://my.oschina.net/vdroid/blog/343086
网页开发之amr音频的播放相关推荐
- 微信网页开发之video标签[HTML5微信播放器video]
先了解一下w3c video标签 大致主要的也就这么点,更详细的请去自己W3C去阅览: 先说为什么会写这篇文章,因为公司最近有个需求,就是微信页面上要有APP端录制的视频. 说白了就是微信网页要有视频 ...
- Android开发之PCM录音实时播放的实现方法 | 边录音边播放 |PCM录音播放无延迟 | 录音无杂音 | 录音无噪音
先说下录音得开启录音权限 <uses-permission android:name="android.permission.RECORD_AUDIO" /> 然后录音 ...
- 【原】AMR音频解码插件开发总结
近段时间一直在忙碌AMR音频解码插件的开发,由于对驱动开发和音频编解码知识了解不是很多,加之自身经验欠缺,致使开发过程中碰到太多棘手的问题.经过努力学习和领导的大力帮助下终于完成了插件的开发,现将开发 ...
- android语音播放工具类,Android开发之MediaPlayer多媒体(音频,视频)播放工具类
本文实例讲述了Android开发之MediaPlayer多媒体(音频,视频)播放工具类.分享给大家供大家参考,具体如下: package com.android.imooc.chat; import ...
- Android NDK开发之旅31 FFmpeg音频解码
###前言 #####基于Android NDK开发之旅30--FFmpeg视频播放这篇文章,我们已经学会视频解码基本过程.这篇文章就对音频解码进行分析. #####音频解码和视频解码的套路基本是一样 ...
- SkeyeWebPlayer.js H5播放器开发之webpack编译flv.js实现基础播放器功能(二)
SkeyeWebPlayer.js H5播放器是由成都视开信息科技开发和维护的一个完善的RTSP.FLV.HLS等多种流媒体协议播放,视频编码支持H.264,H.265,音频支持AAC,支持TCP/U ...
- vue 微信录音倒计时_vue的微信语音功能,录音+对接口返回amr音频播放-Go语言中文社区...
vue的微信语音功能,录音+对接口返回amr音频播放 最近的新项目需要调用微信的录音功能,但是后台又不给音频转码,无奈之下就踏上了研究前端音频编码器这东西. 参考的GitHub仓库--Recorder ...
- 纯前端解码、播放、录音、编码 AMR 音频,无须服务器支持
纯前端解码.播放.录音.编码 AMR 音频,无须服务器支持,基于amr.js 和 RecorderJs. 特性 方便的 API 实现解码.播放.录音.编码 AMR 文件. 支持 url 和 blob ...
- 使用servlet过滤器播放amr音频
前话 怎样播放amr音频?这个问题让我好烦恼,在网上找了一些资料,quicktime插件虽然可以播放amr格式的音频,但是不满足项目的要求,html5也不能播放amr格式的音频.后来想到将amr音频 ...
最新文章
- JSX设置CSS样式详解
- cookie和session的讲解
- 构建基本的嵌入式Linux根文件系统
- Java操作MySQL的中文处理方法
- elasticsearch的rest搜索--- 查询
- 个推mastersecret_推送:个推
- Nopcommerce主要用到的技术及特点
- Delphi中destroy, free, freeAndNil, release用法和区别
- vue-cli 上传图片上传到OSS(阿里云)
- python办公ppt_最全总结 | 聊聊 Python 办公自动化之 PPT(中)
- STM32F030使用RTC周期性唤醒STOP模式
- 计算机管理系统功能模块,设备管理系统功能模块
- capsule系列之Dynamic Routing Between Capsules
- 【已更新】万能门店小程序独立版V5.1二开完整版 无限DIY+不限制小程序生成数量+数10款插件
- 魔兽时间 一键宏 输出的原理与笔记
- 小米 微信:无法连接服务器,微信出现大规模故障 多地无法登录
- mysql 数据库的编辑工具有哪些_常用的MySQL数据库管理工具有哪些
- RGBD三维重建——SeamlessTex运行环境配置(采坑指南)
- 中职专业课教师资格证计算机,中等职业教师资格证专业课有哪些
- 深拷贝和原型原型链和web api 和 this指向等(中初级前端面事题)持续更新中,建议收藏
热门文章
- turtlebot3 模型没有显示_Turtlebot3新手教程:Open-Manipulator机械臂
- vfp生成菜单时文件不存在_如何在VFP项目中创建菜单
- linux下隐藏root进程,宝塔面板隐藏彩蛋 – btkill.py:Linux异常进程专杀
- java mysql limit分页,MySQL limit使用方法以及超大分页问题解决
- qt5 传输 图片压缩_图片如何转换成pdf?免费教你几个宝藏方法,请低调使用!...
- ga设置迭代次数_种群进化+邻域搜索的混合算法(GA+TS)求解柔性作业车间调度问题(FJSP)算法介绍...
- 20200714:动态规划复习day05
- 20190907:(leetcode习题)打家劫舍
- VB键码常数(速查)
- 2018年ML/AI重大进展有哪些?LeCun推荐了这篇回答