【问题标题】:ExoPlayer stream mp3ExoPlayer 流mp3
【发布时间】:2018-12-07 01:40:31
【问题描述】:

我想在我的应用程序中重现 URL,但是当使用 exoplayer 库时,它会报错,而如果我使用标准媒体播放器,一切都会好起来的,并且可以播放 mp3。请帮我找出我的错误并提供有用的信息。谢谢。

这是一个示例 URL 地址,它被重定向,但 exoplayer 必须使用它:https://m.z1.fm/xxx-load/22346945?play=on

这是我的代码

DefaultRenderersFactory renderersFactory = new DefaultRenderersFactory(context, null,
            DefaultRenderersFactory.EXTENSION_RENDERER_MODE_OFF);
exoPlayer = ExoPlayerFactory.newSimpleInstance(context, renderersFactory, new DefaultTrackSelector());
DefaultHttpDataSourceFactory httpDataSourceFactory = new DefaultHttpDataSourceFactory(
                URLs.getUserAgentMobile(), new DefaultBandwidthMeter(),
                DefaultHttpDataSource.DEFAULT_CONNECT_TIMEOUT_MILLIS,
                DefaultHttpDataSource.DEFAULT_READ_TIMEOUT_MILLIS, true);
ExtractorMediaSource mediaSource mediaSource = 
                new ExtractorMediaSource.Factory(httpDataSourceFactory).createMediaSource(Uri.parse(urlTrack));
exoPlayer.prepare(mediaSource);
exoPlayer.setPlayWhenReady(true);

【问题讨论】:

    标签: java android redirect mp3 exoplayer


    【解决方案1】:

    修改代码并添加 DefaultDataSourceFactory

    DefaultExtractorsFactory extractorFactory = new DefaultExtractorsFactory();
    
    DefaultBandwidthMeter BANDWIDTH_METER = new DefaultBandwidthMeter();
    
    DataSource.Factory mediaDataSourceFactory =  new DefaultDataSourceFactory(this, (TransferListener<? super DataSource>) BANDWIDTH_METER, httpDataSourceFactory);
    
    ExtractorMediaSource mediaSource mediaSource =  new ExtractorMediaSource.Factory(mediaDataSourceFactory).
    setExtractorsFactory(extractorFactory).
    createMediaSource(uri);
    

    【讨论】:

    • 谢谢,但是为什么对这段代码sn-p发誓:(TransferListener)写:没有类型参数
    • 通过了 DefaultBandwidthMeter。你试过这个代码吗?我正在使用此代码通过 301 跨域重定向流 URL 播放视频和音频。 stackoverflow.com/questions/41517440/… 仅供参考,您的网址现在返回 404。
    • 我尝试了很多方法,但由于某种原因一切都不成功,虽然mediaPlayer对此没有任何问题..奇怪......但我以另一种方式决定了这种方式:Connection.Response response = Jsoup .connect(urlTrack).followRedirects(false).execute(); String finalUrl= response.header("location");
    猜你喜欢
    • 1970-01-01
    • 2019-03-30
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 2018-06-08
    • 2018-09-13
    • 1970-01-01
    相关资源
    最近更新 更多