diff --git a/lib/pages/video/detail/controller.dart b/lib/pages/video/detail/controller.dart index 230bf447..c788e6ae 100644 --- a/lib/pages/video/detail/controller.dart +++ b/lib/pages/video/detail/controller.dart @@ -38,7 +38,7 @@ class VideoDetailController extends GetxController /// 播放器配置 画质 音质 解码格式 late VideoQuality currentVideoQa; - late AudioQuality currentAudioQa; + AudioQuality? currentAudioQa; late VideoDecodeFormats currentDecodeFormats; // PlPlayerController plPlayerController = PlPlayerController(); // 是否开始自动播放 存在多p的情况下,第二p需要为true @@ -142,9 +142,11 @@ class VideoDetailController extends GetxController videoUrl = firstVideo.baseUrl!; /// 根据currentAudioQa 重新设置audioUrl - AudioItem firstAudio = - data.dash!.audio!.firstWhere((i) => i.id == currentAudioQa.code); - audioUrl = firstAudio.baseUrl ?? ''; + if (currentAudioQa != null) { + AudioItem firstAudio = + data.dash!.audio!.firstWhere((i) => i.id == currentAudioQa!.code); + audioUrl = firstAudio.baseUrl ?? ''; + } playerInit(); } diff --git a/lib/pages/video/detail/widgets/header_control.dart b/lib/pages/video/detail/widgets/header_control.dart index 353371cd..58281b69 100644 --- a/lib/pages/video/detail/widgets/header_control.dart +++ b/lib/pages/video/detail/widgets/header_control.dart @@ -120,15 +120,16 @@ class _HeaderControlState extends State { '当前画质 ${widget.videoDetailCtr!.currentVideoQa.description}', style: subTitleStyle), ), - ListTile( - onTap: () => {Get.back(), showSetAudioQa()}, - dense: true, - leading: const Icon(Icons.album_outlined, size: 20), - title: Text('选择音质', style: titleStyle), - subtitle: Text( - '当前音质 ${widget.videoDetailCtr!.currentAudioQa.description}', - style: subTitleStyle), - ), + if (widget.videoDetailCtr!.currentAudioQa != null) + ListTile( + onTap: () => {Get.back(), showSetAudioQa()}, + dense: true, + leading: const Icon(Icons.album_outlined, size: 20), + title: Text('选择音质', style: titleStyle), + subtitle: Text( + '当前音质 ${widget.videoDetailCtr!.currentAudioQa!.description}', + style: subTitleStyle), + ), ListTile( onTap: () => {Get.back(), showSetDecodeFormats()}, dense: true, @@ -319,7 +320,7 @@ class _HeaderControlState extends State { /// 选择音质 void showSetAudioQa() { - AudioQuality currentAudioQa = widget.videoDetailCtr!.currentAudioQa; + AudioQuality currentAudioQa = widget.videoDetailCtr!.currentAudioQa!; List audio = videoInfo.dash!.audio!; showModalBottomSheet(