Android:请建议我如何暂时保留媒体播放器缓冲区数据的有效方法

时间:2014-07-13 06:17:32

标签: android

我有一种情况,我想在安装来自Android媒体播放器的任何视频文件时存储最后一个缓冲的媒体,这样当一个人尝试重播它时,它不会再重新缓冲它。

如何将数据存储在媒体播放器缓冲区中,如果我碰巧存储了数据,那么当我到达最后一个时我需要有启动数据的缓冲区,如果文件的大小较大,这将使它更复杂?

请建议我暂时保留媒体播放器缓冲区数据的有效方法。

1 个答案:

答案 0 :(得分:0)

好吧,如果你的目标是在相对准确的时间开始播放媒体文件,我曾经做过一次hacky事。

将音量设为零。

开始播放。

循环唤醒并定期检查位置。

如果位置是> 0,文件已缓冲并启动。

暂停。

将位置设置回0。

重置音量。

在我的测试中,当你再次播放时,文件将被缓存在内存中。你自己需要尝试一下。

至于自己将文件数据保存在内存中,现在你正在谈论低级api。对于音频,像Opensl。对于视频,MediaCodec的东西(4.1+)。对于两者而言,你已经掌握了很多阅读。我已经编写了原生音频/视频编码器,但这是一场噩梦。