2

Google Exoplayer ( https://github.com/google/ExoPlayer ) 支持 Http 直播了吗?Android 一般支持它,但是当我尝试在 Android 上使用 Exoplayer 播放 .m3u8 HLS 流时,我只会收到错误消息(请参阅下面的日志)。我使用了 Google IO 的最小 Exoplayer 设置(http://www.davekb.com/browse_programming_tips:android_minimal_exoplayer_use:txt

我是否需要使用与 MediaCodecVideoTrackRenderer 和 MediaCodecAudioTrackRenderer 不同的 TrackRenderer?如果是,是哪一个?

Init 1.0.12
I/NuCachedSource2﹕ ERROR_END_OF_STREAM
D/WVMLogging﹕ Thu Aug 28 10:28:47 2014 (79a3a730):WVSession::SetError: status=1001,     desc=Invalid data format
E/WVMExtractorImpl﹕ WV_Setup returned status 1001 in WVMMediaSource::start
4

2 回答 2

2

==================================================== =================

编辑: dev-hls 分支已被删除,我检查了 master 分支是否可以使用。

==================================================== =================

你可以使用exoPlayer 的dev-hls分支。
它仍在开发中,尚未合并任何部分以供掌握。但是,这对我来说似乎很有希望。

dev-hls 分支:https ://github.com/google/ExoPlayer/tree/dev-hls

于 2014-10-18T12:46:21.573 回答
0

您可以在初始化之前使用以下代码播放 .m3u8 文件:-

Handler mHandler = new Handler();

String userAgent = Util.getUserAgent(context, "YOUR_APPLICATION_NAME");

DataSource.Factory dataSourceFactory = new DefaultHttpDataSourceFactory(
                userAgent, null,
                DefaultHttpDataSource.DEFAULT_CONNECT_TIMEOUT_MILLIS,
                1800000,
                true);

HlsMediaSource mediaSource = new HlsMediaSource(Uri.parse(mediaUrl),dataSourceFactory, 1800000,mHandler, null);

if (mediaUrl != null) {
    videoPlayer.prepare(mediaSource);
    videoPlayer.setPlayWhenReady(true);
}
于 2020-03-17T06:42:22.110 回答