Tag: android exoplayer

如何在exoplayer2.x中创建自己的自定义数据源工厂?

我已经加密媒体文件,这是在播放之前被解密。 在exoplayer 1.x中,我实现了自己的自定义数据源类,该类扩展了UriDatasource,其中解密了文件,但在exoplayer 2.x中没有这样的类,所有数据源类都是final的,不能在我的数据源文件中实现。 如何编写自己的自定义文件数据源工厂使用我们的自定义文件源? 请帮助我。 谢谢。

ExoPlayer,如何加载更大的远程音频文件

我正在使用ExoPlayer 2播放远程曲目。 默认情况下,玩家一个接一个地加载曲目(即约20秒,然后在曲目播放时再加20秒)。 由于曲目是从远程服务器加载的,所以如果连接断开,播放器将无法再加载。 有没有办法说ExoPlayer加载音频文件的更大的部分(也是一次完整的轨道)? 我试图看到ExtractorMediaSource , DataSource.Factory和DefaultExtractorsFactory但我没有找到解决我的问题。 val audioSource = ExtractorMediaSource( Uri.parse(videoUrl), mDataSourceFactory, // DataSource.Factory mExtractor, // DefaultExtractorsFactory null, null ) mExoPlayer.prepare(audioSource) mExoPlayer.playWhenReady = true (这是Kotlin,但是Java程序员似乎也可以理解)