要解决API Level 28上HLS Exoplayer流无法工作的问题,您可以尝试以下解决方法:
implementation 'com.google.android.exoplayer:exoplayer:2.X.X' // X.X代表最新版本号
implementation 'com.google.android.exoplayer:exoplayer-hls:2.X.X'
// 创建ExoPlayer实例
SimpleExoPlayer player = ExoPlayerFactory.newSimpleInstance(context);
// 创建HLS数据源工厂
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context, Util.getUserAgent(context, "YourApplicationName"));
// 创建HLS媒体源
HlsMediaSource hlsMediaSource = new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse("YOUR_HLS_STREAM_URL"));
// 准备播放器
player.prepare(hlsMediaSource);
// 将播放器附加到视图
playerView.setPlayer(player);
// 开始播放
player.setPlayWhenReady(true);
请确保将"YOUR_HLS_STREAM_URL"替换为您要播放的HLS流的URL。
确保您的设备具有正确的网络连接,并且可以访问HLS流的URL。
检查您的Android设备的网络设置,确保HLS流不被阻止或过滤。
如果上述解决方法仍无法解决问题,请尝试使用较新版本的ExoPlayer库,或者查看ExoPlayer库的文档和社区论坛,以获取更多的解决方案。
希望这些解决方法对您有所帮助!