android exoplayer自定义数据源

时间:2015-04-02 05:28:58

标签: android datasource exoplayer

我正在开发一个在DataSource中使用的自定义ExoPlayer对象。

我在理解如何将其连接到Samplesource个对象时遇到问题,以便来自基础Exoplayer组件的数据请求通过我的DataSource对象发生。

有人有这个工作吗?

感谢任何评论。

感谢。

1 个答案:

答案 0 :(得分:3)

SampleSource(或ChunkSource)在其构造函数中获取上游DataSource对象 - 即将DataSource连接到SampleSource(或ChunkSource)的方式

让我举一个HLS的例子来说明如何将自定义DataSource注入SampleSource。

https://github.com/google/ExoPlayer/blob/master/demo/src/main/java/com/google/android/exoplayer/demo/player/HlsRendererBuilder.java

现有代码

DataSource dataSource = new UriDataSource(userAgent, bandwidthMeter);
HlsChunkSource chunkSource = new HlsChunkSource(dataSource, url, manifest, bandwidthMeter, null,
    HlsChunkSource.ADAPTIVE_MODE_SPLICE);
HlsSampleSource sampleSource = new HlsSampleSource(chunkSource, true, 3);

假设您实现了一个CustomDataSource类。新代码将如下所示

CustomDataSource dataSource = new CustomDataSource(<your arguments here>);
HlsChunkSource chunkSource = new HlsChunkSource(dataSource, url, manifest, bandwidthMeter, null,
    HlsChunkSource.ADAPTIVE_MODE_SPLICE);
HlsSampleSource sampleSource = new HlsSampleSource(chunkSource, true, 3);