feat: 直播弹幕2

This commit is contained in:
guozhigq
2024-08-21 00:14:45 +08:00
parent 91856b5c21
commit 5304120909
4 changed files with 58 additions and 18 deletions

View File

@ -7,6 +7,7 @@ import 'package:flutter/rendering.dart';
import 'package:get/get.dart';
import 'package:pilipala/common/widgets/network_img_layer.dart';
import 'package:pilipala/models/live/message.dart';
import 'package:pilipala/pages/danmaku/index.dart';
import 'package:pilipala/plugin/pl_player/index.dart';
import 'controller.dart';
@ -22,7 +23,7 @@ class LiveRoomPage extends StatefulWidget {
class _LiveRoomPageState extends State<LiveRoomPage>
with TickerProviderStateMixin {
final LiveRoomController _liveRoomController = Get.put(LiveRoomController());
PlPlayerController? plPlayerController;
late PlPlayerController plPlayerController;
late Future? _futureBuilder;
late Future? _futureBuilderFuture;
@ -32,6 +33,7 @@ class _LiveRoomPageState extends State<LiveRoomPage>
final ScrollController _scrollController = ScrollController();
late AnimationController fabAnimationCtr;
bool _shouldAutoScroll = true;
final int roomId = int.parse(Get.parameters['roomid']!);
@override
void initState() {
@ -110,8 +112,9 @@ class _LiveRoomPageState extends State<LiveRoomPage>
future: _futureBuilderFuture,
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.hasData && snapshot.data['status']) {
plPlayerController = _liveRoomController.plPlayerController;
return PLVideoPlayer(
controller: plPlayerController!,
controller: plPlayerController,
bottomControl: BottomControl(
controller: plPlayerController,
liveRoomCtr: _liveRoomController,
@ -122,6 +125,14 @@ class _LiveRoomPageState extends State<LiveRoomPage>
});
},
),
danmuWidget: PlDanmaku(
cid: roomId,
playerController: plPlayerController,
type: 'live',
createdController: (e) {
_liveRoomController.danmakuController = e;
},
),
);
} else {
return const SizedBox();