Skip to content

Commit 352de94

Browse files
committed
更新media_kit、弹幕修改为canvas_danmaku
1 parent 5dbb6d1 commit 352de94

File tree

8 files changed

+123
-255
lines changed

8 files changed

+123
-255
lines changed

simple_live_tv_app/.fvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"flutter": "3.35.4"
2+
"flutter": "3.35.7"
33
}

simple_live_tv_app/lib/app/utils.dart

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -126,20 +126,19 @@ class Utils {
126126
String title = '',
127127
}) async {
128128
var result = await Get.dialog(
129-
SimpleDialog(
129+
AlertDialog(
130130
title: Text(title),
131-
children: contents
132-
.map(
133-
(e) => RadioListTile<T>(
134-
title: Text(e.toString()),
135-
value: e,
136-
groupValue: value,
137-
onChanged: (e) {
138-
Get.back(result: e);
139-
},
140-
),
141-
)
142-
.toList(),
131+
content: RadioGroup(
132+
onChanged: (e) => Get.back(result: e),
133+
groupValue: value,
134+
child: Column(
135+
children: contents
136+
.map(
137+
(e) => RadioListTile<T>(title: Text(e.toString()), value: e),
138+
)
139+
.toList(),
140+
),
141+
),
143142
),
144143
);
145144
return result;
@@ -151,20 +150,22 @@ class Utils {
151150
String title = '',
152151
}) async {
153152
var result = await Get.dialog(
154-
SimpleDialog(
153+
AlertDialog(
155154
title: Text(title),
156-
children: contents.keys
157-
.map(
158-
(e) => RadioListTile<T>(
159-
title: Text((contents[e] ?? '-').tr),
160-
value: e,
161-
groupValue: value,
162-
onChanged: (e) {
163-
Get.back(result: e);
164-
},
165-
),
166-
)
167-
.toList(),
155+
content: RadioGroup(
156+
onChanged: (e) => Get.back(result: e),
157+
groupValue: value,
158+
child: Column(
159+
children: contents.keys
160+
.map(
161+
(e) => RadioListTile<T>(
162+
title: Text((contents[e] ?? '-').tr),
163+
value: e,
164+
),
165+
)
166+
.toList(),
167+
),
168+
),
168169
),
169170
);
170171
return result;
@@ -211,12 +212,12 @@ class Utils {
211212
);
212213
}
213214

214-
static void showSystemRightDialog({
215+
static Future<void> showSystemRightDialog({
215216
Function()? onDismiss,
216217
required Widget child,
217218
double width = 320,
218219
}) {
219-
Get.dialog(
220+
return Get.dialog(
220221
Dialog(
221222
insetPadding: EdgeInsets.zero,
222223
backgroundColor: Colors.transparent,

simple_live_tv_app/lib/modules/live_room/live_room_controller.dart

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import 'dart:async';
22

3+
import 'package:canvas_danmaku/models/danmaku_content_item.dart';
34
import 'package:flutter/material.dart';
45
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
56
import 'package:get/get.dart';
67
import 'package:media_kit/media_kit.dart';
7-
import 'package:ns_danmaku/models/danmaku_item.dart';
88
import 'package:simple_live_core/simple_live_core.dart';
99
import 'package:simple_live_tv_app/app/constant.dart';
1010
import 'package:simple_live_tv_app/app/controller/app_settings_controller.dart';
@@ -128,14 +128,9 @@ class LiveRoomController extends PlayerController with WidgetsBindingObserver {
128128
}
129129

130130
addDanmaku([
131-
DanmakuItem(
131+
DanmakuContentItem(
132132
msg.message,
133-
color: Color.fromARGB(
134-
255,
135-
msg.color.r,
136-
msg.color.g,
137-
msg.color.b,
138-
),
133+
color: Color.fromARGB(255, msg.color.r, msg.color.g, msg.color.b),
139134
),
140135
]);
141136
} else if (msg.type == LiveMessageType.online) {

simple_live_tv_app/lib/modules/live_room/live_room_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class LiveRoomPage extends GetView<LiveRoomController> {
1818
Widget build(BuildContext context) {
1919
return PopScope(
2020
canPop: false,
21-
onPopInvoked: (didPop) {
21+
onPopInvokedWithResult: (didPop, result) {
2222
if (!didPop) {
2323
//双击返回键退出
2424
if (controller.doubleClickExit) {

simple_live_tv_app/lib/modules/live_room/player/player_controller.dart

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
import 'dart:async';
22
import 'dart:io';
33

4+
import 'package:canvas_danmaku/canvas_danmaku.dart';
45
import 'package:device_info_plus/device_info_plus.dart';
56
import 'package:flutter/material.dart';
6-
import 'package:flutter_screenutil/flutter_screenutil.dart';
77
import 'package:simple_live_tv_app/app/controller/base_controller.dart';
88
import 'package:get/get.dart';
99
import 'package:media_kit/media_kit.dart';
1010
import 'package:media_kit_video/media_kit_video.dart';
11-
import 'package:ns_danmaku/ns_danmaku.dart';
1211
import 'package:simple_live_tv_app/app/controller/app_settings_controller.dart';
1312
import 'package:simple_live_tv_app/app/log.dart';
1413
import 'package:wakelock_plus/wakelock_plus.dart';
@@ -150,15 +149,15 @@ mixin PlayerDanmakuMixin on PlayerStateMixin {
150149

151150
void initDanmakuController(DanmakuController e) {
152151
danmakuController = e;
153-
danmakuController?.updateOption(
154-
DanmakuOption(
155-
fontSize: AppSettingsController.instance.danmuSize.value.w,
156-
area: AppSettingsController.instance.danmuArea.value,
157-
duration: AppSettingsController.instance.danmuSpeed.value,
158-
opacity: AppSettingsController.instance.danmuOpacity.value,
159-
strokeWidth: AppSettingsController.instance.danmuStrokeWidth.value.w,
160-
),
161-
);
152+
// danmakuController?.updateOption(
153+
// DanmakuOption(
154+
// fontSize: AppSettingsController.instance.danmuSize.value.w,
155+
// area: AppSettingsController.instance.danmuArea.value,
156+
// duration: AppSettingsController.instance.danmuSpeed.value,
157+
// opacity: AppSettingsController.instance.danmuOpacity.value,
158+
// strokeWidth: AppSettingsController.instance.danmuStrokeWidth.value.w,
159+
// ),
160+
// );
162161
}
163162

164163
void updateDanmuOption(DanmakuOption? option) {
@@ -170,11 +169,13 @@ mixin PlayerDanmakuMixin on PlayerStateMixin {
170169
danmakuController?.clear();
171170
}
172171

173-
void addDanmaku(List<DanmakuItem> items) {
172+
void addDanmaku(List<DanmakuContentItem> items) {
174173
if (!showDanmakuState.value) {
175174
return;
176175
}
177-
danmakuController?.addItems(items);
176+
for (var item in items) {
177+
danmakuController?.addDanmaku(item);
178+
}
178179
}
179180
}
180181
mixin PlayerSystemMixin on PlayerMixin, PlayerStateMixin, PlayerDanmakuMixin {

0 commit comments

Comments
 (0)