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 MediaPlayer 播放音频

MediaPlayer 只播放某些 WAV 文件

Android Multimedia框架总结MediaPlayer中创建到setDataSource过程

Android记录Android MediaPlayer的两个bug

Android记录Android MediaPlayer的两个bug

Android Multimedia框架总结MediaPlayer框架及播放网络视频案例