我正在尝试从MediaPlayer
转而转而使用ExoPlayer
,但我找不到任何更新的演示如何使用它。我认为他们删除了FrameworkSampleSource
方法。我从Github下载了演示但是我找不到播放器的实现,我可以找到添加了URL的Samples对象。
我有一个我想要播放的URL列表。我正在切换到ExoPlayer,因为它比MediaPlayer更流畅。我已经阅读了有关ExoPlayer的所有StackOverflow主题,但没有更新。
任何人都可以举例说明如何实现它?谢谢。
答案 0 :(得分:5)
如果您正在寻找简单的实现,我已经从ExoPlayer Demo创建了简单的应用程序,以便于阅读。
链接:https://github.com/Gujarats/AndroidVideoPlayer/tree/master/app/src/main
您需要查看这些文件以便理解:
我测试了它并通过HTTP播放视频.mp4文件。
答案 1 :(得分:3)
我今天不得不用ExoPlayer替换MediaPlayer用于无线电流媒体应用。我做了一个post about it,以防它对任何人有帮助。 它使用MediaCodecAudioTrackRenderer和ExtractorSampleSource(因为不推荐使用FrameworkSampleSource)。
Allocator allocator = new DefaultAllocator(BUFFER_SEGMENT_SIZE);
String userAgent = Util.getUserAgent(context, "ExoPlayerDemo");
DataSource dataSource = new DefaultUriDataSource(context, null, userAgent);
ExtractorSampleSource sampleSource = new ExtractorSampleSource(
radioUri, dataSource, allocator, BUFFER_SEGMENT_SIZE * BUFFER_SEGMENT_COUNT);
audioRenderer = new MediaCodecAudioTrackRenderer(
sampleSource);
exoPlayer.prepare(audioRenderer);
答案 2 :(得分:2)
FrameworkSampleSource source = new FrameworkSampleSource(App.getContext(), track.Uri, null, 1);
TrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(source, null, true);
exoPlayer.prepare(audioRenderer);
希望这个简短的例子能够帮助