From a602b4e1e125d8381f14763871f806404fe47657 Mon Sep 17 00:00:00 2001 From: xiaoyaocz Date: Thu, 6 Jun 2024 18:11:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8A=96=E9=9F=B3=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E8=8E=B7=E5=8F=96=E5=8E=9F=E7=94=BB=20#429?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/simple_live_core_example.dart | 2 +- simple_live_core/lib/src/douyin_site.dart | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/simple_live_core/example/simple_live_core_example.dart b/simple_live_core/example/simple_live_core_example.dart index bfc777d4..1565b5f5 100644 --- a/simple_live_core/example/simple_live_core_example.dart +++ b/simple_live_core/example/simple_live_core_example.dart @@ -20,7 +20,7 @@ void main() async { }; //var categores = await site.getCategores(); //print(categores.length); - var detail = await site.getRoomDetail(roomId: "320875656639"); + var detail = await site.getRoomDetail(roomId: "121118665759"); var playQualites = await site.getPlayQualites(detail: detail); var playUrls = await site.getPlayUrls(detail: detail, quality: playQualites.first); diff --git a/simple_live_core/lib/src/douyin_site.dart b/simple_live_core/lib/src/douyin_site.dart index cdb7338a..a141a51b 100644 --- a/simple_live_core/lib/src/douyin_site.dart +++ b/simple_live_core/lib/src/douyin_site.dart @@ -462,9 +462,11 @@ class DouyinSite implements LiveSite { var qulityList = detail.data["live_core_sdk_data"]["pull_data"]["options"]["qualities"]; + var streamData = detail.data["live_core_sdk_data"]["pull_data"] + ["stream_data"] + .toString(); - if (detail.data["live_core_sdk_data"]["pull_data"]["stream_data"] - is String) { + if (!streamData.startsWith('{')) { var flvList = (detail.data["flv_pull_url"] as Map).values.cast().toList(); var hlsList = (detail.data["hls_pull_url_map"] as Map) @@ -487,12 +489,12 @@ class DouyinSite implements LiveSite { sort: level, data: urls, ); - - qualities.add(qualityItem); + if (urls.isNotEmpty) { + qualities.add(qualityItem); + } } } else { - var qualityData = json.decode(detail.data["live_core_sdk_data"] - ["pull_data"]["stream_data"])["data"]; + var qualityData = json.decode(streamData)["data"]; for (var quality in qulityList) { List urls = [];