0

ExoPlayer#我正在尝试使用ConcatenatingMediaSource创建播放列表,但出现以下错误

E/AndroidRuntime: FATAL EXCEPTION: exo_player_tread
    Process: com.subnet_master.mangoplayer, PID: 3412
    java.lang.NullPointerException
        at com.google.android.exoplayer2.util.Assertions.checkNotNull(Assertions.java:154)
        at com.google.android.exoplayer2.source.ProgressiveMediaSource$Factory.createMediaSource(ProgressiveMediaSource.java:222)
        at com.subnet_master.mangoplayer.audio_player.AudioPlayerService.playSong(AudioPlayerService.java:259)
        at com.subnet_master.mangoplayer.audio_player.AudioPlayerService.access$200(AudioPlayerService.java:72)
        at com.subnet_master.mangoplayer.audio_player.AudioPlayerService$ServiceHandler.handleMessage(AudioPlayerService.java:172)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:245)
        at android.os.HandlerThread.run(HandlerThread.java:67)

我还在使用最新最好的 ExoPlayer Core 和 HLS 依赖项

//EXO PLAYER
    implementation 'com.google.android.exoplayer:exoplayer-core:2.16.0'
    implementation 'com.google.android.exoplayer:exoplayer-hls:2.16.0'

这是代码

ConcatenatingMediaSource concatenatingMediaSource = new ConcatenatingMediaSource();

        //List<MediaItem> mediaItemList = new ArrayList<>();
        if (audioList != null) {

            for (int i = 0; i < audioList.size(); i++) {
                //File currentFile = new File(audioList.get(i).getUriPath().toString());

                MediaItem mediaItem = MediaItem.fromUri(audioList.get(i).getUriPath());
                //mediaItemList.add(mediaItem);

                ProgressiveMediaSource.Factory  factory = new ProgressiveMediaSource.Factory(new DefaultDataSource.Factory(context));

                if (factory != null && concatenatingMediaSource != null) {
////////////////////BELOW LINE THROWING THAT EXCEPTION\\\\\\\\\\\\\\\\\\\\\
                    MediaSource mediaSource = factory.createMediaSource(mediaItem);
                    concatenatingMediaSource.addMediaSource(mediaSource);
                }

            }

            player.addMediaSource(concatenatingMediaSource);

        }

如果可以请解释如何在最新的 ExoPlayer 2.16.0 中创建播放列表?

非常感谢您宝贵的时间!!欣赏!!

4

0 回答 0