ExoPlayer上的Android流

时间:2015-04-23 17:06:39

标签: android exoplayer

我正在尝试从MediaPlayer转而转而使用ExoPlayer,但我找不到任何更新的演示如何使用它。我认为他们删除了FrameworkSampleSource方法。我从Github下载了演示但是我找不到播放器的实现,我可以找到添加了URL的Samples对象。 我有一个我想要播放的URL列表。我正在切换到ExoPlayer,因为它比MediaPlayer更流畅。我已经阅读了有关ExoPlayer的所有StackOverflow主题,但没有更新。

任何人都可以举例说明如何实现它?谢谢。

3 个答案:

答案 0 :(得分:5)

如果您正在寻找简单的实现,我已经从ExoPlayer Demo创建了简单的应用程序,以便于阅读。

链接:https://github.com/Gujarats/AndroidVideoPlayer/tree/master/app/src/main
您需要查看这些文件以便理解:

  • 布局:test_player.xml
  • TestPlayerActivity
  • TestPlayerController

我测试了它并通过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);

希望这个简短的例子能够帮助