Android MediaPlayer 链接
Posted
技术标签:
【中文标题】Android MediaPlayer 链接【英文标题】:Android MediaPlayer chaining 【发布时间】:2012-07-27 08:03:49 【问题描述】:我了解到 android MediaPlayer 支持音频链接。
我正在播放连续的 MIDI 文件,我希望它们之间没有延迟(连续播放)。
我目前使用:setOnCompletionListener
eclipse 模拟器实际上并没有明显的延迟。但是我在华硕变压器上尝试了我的应用程序(速度非常快),但延迟更大。我尝试使用 Android 4.0.3。
我应该用其他方法播放下一首歌曲吗?
【问题讨论】:
在 Android 4.1 (Jellybean) 中添加了音频链接支持。 我就是这么想的……嗯……好的,所以新的设备应该更好用,谢谢! 【参考方案1】:Jelly Bean 发行说明提到 MediaPlayer 现在支持“音频链接”功能,但没有指定实际的 API 实现。也就是说,如果您查看 MediaPlayer 上的开发人员参考资料,您会注意到从 Android 16 (Jelly Bean) 开始有一个新方法可用,称为“setNextMediaPlayer”:
Read About setNextMediaPlayer() Here
我不确定,但我相信这就是发行说明所指的内容。
更正:这里的发行说明中提到了 setNextMediaPlayer http://developer.android.com/about/versions/android-4.1.html 在“无缝播放”标题下。
【讨论】:
【参考方案2】:我认为您应该尝试使用 SoundPool 类而不是 MediaPlayer。因为与 MediaPlayer 对象相比,SoundPool 是一个轻量级对象。
这里是 SoundPool 的一个例子,
http://blog.nelsondev.net/?p=207
据说 SoundPool 最适合小声音文件和更快的播放能力。
这里有一篇文章解释了有关 MediaPlayer 和 SoundPool 的事情。
http://www.vogella.com/articles/AndroidMedia/article.html
这是基于它的问题的另一个链接,
Soundpool or media player?
【讨论】:
谢谢,但我似乎读到无法知道声音何时结束播放(如开始下一个):***.com/questions/4436055/… 这在不断尝试播放声音时是一种劣势以上是关于Android MediaPlayer 链接的主要内容,如果未能解决你的问题,请参考以下文章
Android Multimedia框架总结MediaPlayer中创建到setDataSource过程
Android记录Android MediaPlayer的两个bug