2

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

谁能给我一个例子如何实现它?谢谢你。

4

3 回答 3

5

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

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

  • 布局:test_player.xml
  • TestPlayerActivity
  • 测试播放器控制器

我已经对其进行了测试并通过 HTTP 播放了 .mp4 文件。

于 2015-11-13T10:41:18.553 回答
3

今天我不得不用 ExoPlayer 替换 MediaPlayer 来开发一个广播流媒体应用程序。我发了一篇关于它的帖子,以防它对任何人有帮助。它使用 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);
于 2016-01-25T01:40:12.430 回答
2
    FrameworkSampleSource source = new FrameworkSampleSource(App.getContext(), track.Uri, null, 1);
    TrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(source, null, true);
    exoPlayer.prepare(audioRenderer);

希望这个简短的例子会有所帮助

于 2015-04-23T17:41:00.993 回答