android - 如何使用 exoplayer 流式传输 mp3 url?

标签 android exoplayer

Exoplayer 库对我来说似乎太复杂了。谁能帮我如何使用 exoplayer 库流式传输广播电台网址?我试过 MediaPlayer ,它工作正常,但准备时间很长。这是我尝试过的。

    exoPlayer = ExoPlayer.Factory.newInstance(RENDERER_COUNT);

    Allocator allocator = new DefaultAllocator(BUFFER_SEGMENT_SIZE);
    DataSource dataSource = new DefaultUriDataSource(getApplicationContext(), null, userAgent);
    Mp3Extractor extractor = new Mp3Extractor();
    ExtractorSampleSource sampleSource = new ExtractorSampleSource(
            uri, dataSource, extractor, allocator, BUFFER_SEGMENT_COUNT * BUFFER_SEGMENT_SIZE);
     MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource);
    exoPlayer.prepare(audioRenderer);

    exoPlayer.setPlayWhenReady(true);

我不明白如何获取userAgent,它是什么意思?

最佳答案

下面是对用户代理的一个很好的描述: user agent 此处还定义了用户代理的外观: structure of user agent header 在这里您可以看到浏览器的用户代理的样子: http://whatsmyuseragent.com/

简而言之,您可以像这样创建您的用户代理:

“你的应用名称/版本代码”

最后介绍如何使用 ExoPlayer 播放 mp3: Stream mp3 with ExoPlayer 在此示例中,它虽然是本地 mp3,但唯一的区别应该是 mp3 的 url 和缺少的用户代理。 希望这对您有所帮助!

关于android - 如何使用 exoplayer 流式传输 mp3 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31620143/

相关文章:

android - 如何在没有用户界面的情况下在 Android 应用程序中拍照?

java - 由于 DocumentFile().fromTreeUri() ,尚不存在的路径上的 DocumentFile.exists() 始终返回 true

java - 如何将多个用户输入传递到 ArrayList 中?

android - Exoplayer 只播放一些 .m3u8 链接,其他的只是加载时间但不开始播放

java - 为什么 float 用 1 除以 2 或 4 时返回 0?

android - 布局为 ListView 标题

android - ExoPlayer2 - 如何使 HTTP 301 重定向工作?

android - Exo 玩家添加加注/发送分析事件总花费时间

android - exoplayer 的方向改变延迟

android - HLS 协议(protocol),ParserException : Failed to parse the playlist, 无法识别任何标签