check live playurl

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-10-04 21:02:02 +08:00
parent 9057401b16
commit a441759eb6
2 changed files with 15 additions and 9 deletions

View File

@@ -76,7 +76,11 @@ abstract final class LiveHttp {
} }
} }
static Future liveRoomInfo({roomId, qn, bool onlyAudio = false}) async { static Future<LoadingState<RoomPlayInfoData>> liveRoomInfo({
roomId,
qn,
bool onlyAudio = false,
}) async {
var res = await Request().get( var res = await Request().get(
Api.liveRoomInfo, Api.liveRoomInfo,
queryParameters: { queryParameters: {
@@ -93,12 +97,9 @@ abstract final class LiveHttp {
}, },
); );
if (res.data['code'] == 0) { if (res.data['code'] == 0) {
return { return Success(RoomPlayInfoData.fromJson(res.data['data']));
'status': true,
'data': RoomPlayInfoData.fromJson(res.data['data']),
};
} else { } else {
return {'status': false, 'msg': res.data['message']}; return Error(res.data['message']);
} }
} }

View File

@@ -11,7 +11,6 @@ import 'package:PiliPlus/models_new/live/live_danmaku/live_emote.dart';
import 'package:PiliPlus/models_new/live/live_dm_info/data.dart'; import 'package:PiliPlus/models_new/live/live_dm_info/data.dart';
import 'package:PiliPlus/models_new/live/live_room_info_h5/data.dart'; import 'package:PiliPlus/models_new/live/live_room_info_h5/data.dart';
import 'package:PiliPlus/models_new/live/live_room_play_info/codec.dart'; import 'package:PiliPlus/models_new/live/live_room_play_info/codec.dart';
import 'package:PiliPlus/models_new/live/live_room_play_info/data.dart';
import 'package:PiliPlus/models_new/live/live_superchat/item.dart'; import 'package:PiliPlus/models_new/live/live_superchat/item.dart';
import 'package:PiliPlus/pages/live_room/send_danmaku/view.dart'; import 'package:PiliPlus/pages/live_room/send_danmaku/view.dart';
import 'package:PiliPlus/plugin/pl_player/controller.dart'; import 'package:PiliPlus/plugin/pl_player/controller.dart';
@@ -135,12 +134,16 @@ class LiveRoomController extends GetxController {
qn: currentQn, qn: currentQn,
onlyAudio: plPlayerController.onlyPlayAudio.value, onlyAudio: plPlayerController.onlyPlayAudio.value,
); );
if (res['status']) { if (res.isSuccess) {
RoomPlayInfoData data = res['data']; final data = res.data;
if (data.liveStatus != 1) { if (data.liveStatus != 1) {
_showDialog('当前直播间未开播'); _showDialog('当前直播间未开播');
return; return;
} }
if (data.playurlInfo?.playurl == null) {
_showDialog('无法获取播放地址');
return;
}
if (data.roomId != null) { if (data.roomId != null) {
roomId = data.roomId!; roomId = data.roomId!;
} }
@@ -163,6 +166,8 @@ class LiveRoomController extends GetxController {
videoUrl = VideoUtils.getCdnUrl(item); videoUrl = VideoUtils.getCdnUrl(item);
await playerInit(); await playerInit();
isLoaded.value = true; isLoaded.value = true;
} else {
_showDialog(res.toString());
} }
} }