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 中创建播放列表?
非常感谢您宝贵的时间!!欣赏!!