我正在开发媒体播放器,它应该能够播放来自互联网的音频。正如我所注意到的,标准MediaPlayer
在播放远程内容时非常不稳定:它经常会无缘无故地停止或停止播放。
另一方面,我想实现媒体缓存。但我没有找到任何方法从MediaPlayer
获取缓冲内容以将其保存在设备上的某个位置。
所以,我想为自己实施缓冲,让MediaPlayer
只播放本地媒体。我看到的第一种方法是将足够的媒体下载到文件中,通过MediaPlayer
开始播放此文件并继续下载其余媒体(如果没有足够的媒体下载并处理其他类似事件,则暂停)。
问题是:可以播放文件并在同一时间附加它吗?现在,在调用IllegalStateExceptions
的{{1}}
MediaPlayer
UPD
setDataSource
是由无效逻辑引起的。 MediaPlayer现在正在播放。
但另一个问题出现了。
因此,首先下载5%的曲目,MediaPlayer开始播放,播放这些5%然后停止。这是一种继续玩的方式吗?
开始播放很简单:
IllegalStateException
可能有其他流类型对这种情况有用吗?
答案 0 :(得分:0)
在某些设备上同时附加和播放文件,而在其他设备上不起作用。所以,它不是一个解决方案。我尝试了很多方法来实现自己的缓冲和回放(参见Best practices for audio streaming)并决定使用JellyBean Media API(因为我正在为JB-device开发)。对于JB之前的设备,这个问题仍然是开放的