Android MediaPlayer在何处/如何缓存渐进式下载

时间:2013-03-08 15:27:11

标签: android media-player progressive-download

默认情况下,我需要知道MediaPlayer在通过渐进式下载“流式传输”时缓存音频/视频内容的位置/方式。

我们正在评估Android媒体播放器应用的选项。一个令人关注的问题是阻止内容被复制(在可能的范围内)。渐进式下载有很多好处,但我们需要确保采取合理措施来保护媒体。我必须在错误的地方进行错误的搜索,因为我无法找到有关此问题的任何细节。我已经搜索了我们的测试设备的文件系统,试图从我们的测试渐进式下载应用程序中找到任何缓存的文件 - 无济于事(这对于我们的目的来说可能是好的)。

1 个答案:

答案 0 :(得分:5)

在Android中,MediaPlayer是一个顶级类,用于抽象底层播放器引擎。在MediaPlayer中,整体处理分为3个主要组件

MediaTrack ==> OMXCodec / ACodec ==> Sink

其中MediaTrack是一个特定于轨道的实现,它基于MediaExtractor,它是解析器引擎。

MediaExtractor初始化为DataSource,它抽象输入源。对于渐进式下载,DataSource的实现将是主要关注点,因为它将为下游组件提供缓冲区。由于Android平台适用于 pull 模型,DataSource将控制提供数据的速率。

在AOSP中,您可以参考http://androidxref.com/4.2.2_r1/xref/frameworks/base/media/java/android/media/MediaPlayer.java#2132中的示例实现。有关HTTPSource实施的更多信息,请参阅http://androidxref.com/4.2.2_r1/xref/frameworks/av/media/libstagefright/HTTPBase.cpp#47