尝试使用Exo Player播放mp4文件时出错

时间:2018-12-20 17:34:26

标签: android exoplayer

我正在重用以前的应用中的Exoplayer代码,其中所有视频均从URL加载到该位置。这次,我尝试加载本地存储的mp4文件,但出现以下错误:

“ com.google.android.exoplayer2.upstream.HttpDataSource $ HttpDataSourceException:无法连接到android.resource://” 程序包名称“ / 2131689472”

(其中“ 程序包名称”是实际的程序包名称)。

我已经做了一些研究,并且我读到某个地方DefaultDataSourceFactory无法从本地存储加载mp4文件,但是我不确定该用什么?还是这是一个完全不同的问题。

 String videoUrl = "android.resource://" + getActivity().getPackageName() +"/" + R.raw.intro;

 initializeExoPlayer(Uri.parse(videoUrl));

  //initialise ExoPlayer
public void initializeExoPlayer(Uri firstUri) {
    if (mSimpleExoPlayer == null) {
        //create an instance of the ExoPlayer
        TrackSelector trackSelector = new DefaultTrackSelector();
        LoadControl loadControl = new DefaultLoadControl();
        mSimpleExoPlayer = ExoPlayerFactory.newSimpleInstance(getContext(), trackSelector, loadControl);
        simpleExoPlayerView.setPlayer(mSimpleExoPlayer);

        //prepare the mediasource
        String userAgent = Util.getUserAgent(getContext(), "fwc");
        MediaSource firstMediaSource = new ExtractorMediaSource(firstUri, new DefaultDataSourceFactory(getContext(),
                userAgent), new DefaultExtractorsFactory(), null, null);
        mSimpleExoPlayer.prepare(firstMediaSource);
        mSimpleExoPlayer.setPlayWhenReady(playbackReady);
        mSimpleExoPlayer.seekTo(currentWindow, playbackPosition);
    }
}

具体地说,我需要Exoplayer播放本地存储和URL链接中的mp4文件。

谢谢。

更新

找到的解决方案: 尽管有各种文档说明,将视频移动到Assets文件夹是我使视频工作的唯一方法。

String videoUrl = "asset:///intro.mp4";
initializeExoPlayer(Uri.parse(videoUrl));

0 个答案:

没有答案