2

我正在开发一个自定义DataSource对象以在ExoPlayer.

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

有没有人有这个工作?

感谢任何评论。

谢谢。

4

1 回答 1

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);
于 2015-04-21T05:17:35.187 回答