Android实现OGG音频的无缝循环播放
说来惭愧,到最后好像自己也没做到些什么出来。
因为工作需求,需要实现同时对多首OGG音频进行无缝循环播放。
我尝试过在Java层用Java解码OGG文件,那效率就不说了,想崩溃就用吧:D
后来用本地代码尝试,但我最终只实现了单线程解码并播放,基于OGG解码库和OpenAL播放,而且是解码完再播放。
其实思路是很简单的,一边解码一边把解码后的数据放进播放器缓存播放就是了。但是由于时间关系后面的没做到。
最后在偶然之下发现BASS库
BASS Library:http://www.un4seen.com/
不得不说这库够强大的。
尝试了下确实可以无缝播放了,同时BASS库本身还有其他很好的功能可以发掘。
另外作者在论坛里也说道,无缝循环也只是在解码时一旦解码到文件尾就重新从头解码而已。
所以最后我选择对它进行了简单的封装,稍微参考MediaPlayer的方法。
具体可以看这里:https://github.com/ViTess/Android-OMEPlayer
往后会逐渐把插件和一些音效功能继续封装,那就不用再去看那个有点莫名其妙的文档了。
Android实现OGG音频的无缝循环播放相关推荐
- JavaScript实现京东轮播图效果——自动轮播,左右按钮切换图片,小圆圈跟随图片变化,点击小圆圈可跳转图片,无缝循环播放
JavaScript实现京东轮播图效果--自动轮播,左右按钮切换图片,小圆圈跟随图片变化,点击小圆圈可跳转图片,无缝循环播放 静态效果图如下: CSS部分 *{margin: 0;padding: 0 ...
- 【杰理AC692X】关于外挂FLASH音频无间断循环播放
SDK:extern_flash_V2.5.1 这里说的无间断播放,比如说下面的音频信号: 要求是循环播放的时候不能有停顿 按照<AC692x系列提示音无间断循环播放>中的描述,把flas ...
- android aac格式,android aac文件格式音频的录制和播放
封装的工具类: package com.example.voaactest; import java.io.File; import java.io.FileNotFoundException; im ...
- windows media player循环播放和退出
我学习c#中winform自带的windows media player,找这方面的资料,找了许久,今天我在这里总结一下. 我们在c#的"工具栏"里需要导入windows medi ...
- android 循环播放mp3,android – 使用AudioTrack播放循环音频
由于MediaPlayer的一些众所周知的缺陷,例如循环播放曲目之间出现的小差距,我有一个功能我想转换到使用Android的AudioTrack而不是MediaPlayer. 我被推荐使用AudioT ...
- unity3d 音频无缝循环
在我做赛车漂移的时候,漂移的声音断断续续的,搞得我很郁闷 大家可以随便找个音效然后循环播放去仔细听 你会发现当音效播放完成一次之后循环播放第二次时会停顿一下 我做赛车漂移如果中途停顿了体验是非常不好的 ...
- android 无缝连续播放视频
android 无缝连续播放视频 最近在做视频合成的时候要求把用户选择的视频能够连续预览,第一想的是用户在预览的时候把视频拼接后在预览,结果发现拼接的时间太久了,这种方式不行,结果搞了一天用media ...
- Android Settings->Sound->Phone ringtone试听铃声循环播放的原因
安桌铃声的循环播放不是系统决定的,而是在铃声文件上面做了 ANDROID_LOOP的标记,而 ringtones文件夹里面的铃声文件一般都有 ANDROID_LOOP的标记,所以不适合直接拿来当短信铃 ...
- android 网络mp3格式,Android-使用MediaPlayer播放网络音频并且缓存
需求 接口中返回一个List,其中部分对象有音频文件的url.对有url的item视图中添加一个播放按钮.点击按钮播放音频,再次点击暂停或停止.点击其他item播放新的音频.点击item进入二级页面, ...
最新文章
- void *指针的加减运算
- 单片机从事什么工作?只会51单片机能找到工作吗?
- 拒绝DNN过拟合,谷歌准确预测训练集与测试集泛化差异,还开源了数据集 | ICLR 2019...
- 使用Zapier将应用程序与Neo4j集成
- 搜索---广度优先遍历、深度优先遍历、回溯法
- 前复权后复权程序C# .net
- linux模块加载和模块卸载时出现的问题
- html如何算小于0判断错误,如果长度小于0在javascript中提醒
- phpstrom常用配置
- 六自由度机械臂项目学习笔记
- Ubuntu 12.10方便操作套件
- 【LwM2M】LwM2M协议官方文档
- 2016年人人网笔试题
- C编译器剖析_5.2.1 中间代码生成及优化_布尔表达式的翻译
- 职高计算机应用基础学的什么,职高计算机应用基础教法初探
- 年终考核:对你的上司,你是如何评价的?
- 下载、安装Ctex及编译自动化学报模板时错误的解决
- IOS开发-画曲线画弧线画圆
- python安装依赖库
- 微信小程序获取收货地址及存储收货地址