fix: firstAudio Bad element
This commit is contained in:
@ -276,8 +276,8 @@ class VideoDetailController extends GetxController
|
|||||||
currentDecodeFormats = flag
|
currentDecodeFormats = flag
|
||||||
? currentDecodeFormats
|
? currentDecodeFormats
|
||||||
: VideoDecodeFormatsCode.fromString(supportDecodeFormats.first)!;
|
: VideoDecodeFormatsCode.fromString(supportDecodeFormats.first)!;
|
||||||
} catch (e) {
|
} catch (err) {
|
||||||
print(e);
|
SmartDialog.showToast('DecodeFormats error: $err');
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 取出符合当前解码格式的videoItem
|
/// 取出符合当前解码格式的videoItem
|
||||||
@ -289,7 +289,7 @@ class VideoDetailController extends GetxController
|
|||||||
}
|
}
|
||||||
videoUrl = firstVideo.baseUrl!;
|
videoUrl = firstVideo.baseUrl!;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
print(err);
|
SmartDialog.showToast('firstVideo error: $err');
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 优先顺序 设置中指定质量 -> 当前可选的最高质量
|
/// 优先顺序 设置中指定质量 -> 当前可选的最高质量
|
||||||
@ -299,7 +299,6 @@ class VideoDetailController extends GetxController
|
|||||||
try {
|
try {
|
||||||
int resultAudioQa = setting.get(SettingBoxKey.defaultAudioQa,
|
int resultAudioQa = setting.get(SettingBoxKey.defaultAudioQa,
|
||||||
defaultValue: AudioQuality.hiRes.code);
|
defaultValue: AudioQuality.hiRes.code);
|
||||||
|
|
||||||
if (data.dash!.dolby?.audio?.isNotEmpty == true) {
|
if (data.dash!.dolby?.audio?.isNotEmpty == true) {
|
||||||
// 杜比
|
// 杜比
|
||||||
audiosList.insert(0, data.dash!.dolby!.audio!.first);
|
audiosList.insert(0, data.dash!.dolby!.audio!.first);
|
||||||
@ -313,13 +312,15 @@ class VideoDetailController extends GetxController
|
|||||||
if (audiosList.isNotEmpty) {
|
if (audiosList.isNotEmpty) {
|
||||||
List<int> numbers = audiosList.map((map) => map.id!).toList();
|
List<int> numbers = audiosList.map((map) => map.id!).toList();
|
||||||
int closestNumber = Utils.findClosestNumber(resultAudioQa, numbers);
|
int closestNumber = Utils.findClosestNumber(resultAudioQa, numbers);
|
||||||
if (!numbers.contains(resultAudioQa)) {
|
if (!numbers.contains(resultAudioQa) &&
|
||||||
|
numbers.any((e) => e > resultAudioQa)) {
|
||||||
closestNumber = 30280;
|
closestNumber = 30280;
|
||||||
}
|
}
|
||||||
firstAudio = audiosList.firstWhere((e) => e.id == closestNumber);
|
firstAudio = audiosList.firstWhere((e) => e.id == closestNumber);
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (err) {
|
||||||
print(e);
|
firstAudio = audiosList.first;
|
||||||
|
SmartDialog.showToast('firstAudio error: $err');
|
||||||
}
|
}
|
||||||
|
|
||||||
audioUrl = firstAudio!.baseUrl ?? '';
|
audioUrl = firstAudio!.baseUrl ?? '';
|
||||||
|
Reference in New Issue
Block a user