Error while starting livestream
imsujan276 opened this issue · 1 comments
imsujan276 commented
I am trying to start livestream using the videosdk package. But getting the error saying "Error while starting livestreaming Null check operator used on a null value"
Please suggest me how can I resolve this issue?
CODE:
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:videosdk/videosdk.dart';
import 'package:videosdkTest/meeting_controls.dart';
class LiveStreamPage extends StatefulWidget {
final String meetingId;
final String token;
final Mode mode;
final String displayName;
const LiveStreamPage({
super.key,
required this.meetingId,
required this.token,
required this.mode,
required this.displayName,
});
@override
State<LiveStreamPage> createState() => _LiveStreamPageState();
}
class _LiveStreamPageState extends State<LiveStreamPage> {
late Room _room;
var micEnabled = true;
var camEnabled = true;
String hlsState = "HLS_STOPPED";
@override
void initState() {
super.initState();
_room = VideoSDK.createRoom(
roomId: widget.meetingId,
token: widget.token,
mode: widget.mode,
displayName: widget.displayName,
micEnabled: true,
camEnabled: true,
defaultCameraIndex: 1,
);
setupRoomEventListener();
}
void setupRoomEventListener() {
_room.on(Events.liveStreamStateChanged, (String status) {
//Status can be :: LIVESTREAM_STARTING
//Status can be :: LIVESTREAM_STARTED
//Status can be :: LIVESTREAM_STOPPING
//Status can be :: LIVESTREAM_STOPPED
log("Meeting Livestream status : $status");
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Live Stream Page"),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () {
var outputs = [
{
'url': "rtmp://a.rtmp.youtube.com/live2",
'streamKey': "aiskdjbakdjsbn",
},
];
var liveStreamConfig = {
'layout': {
'type': 'GRID',
'priority': 'SPEAKER',
'gridSize': 4,
},
'theme': "LIGHT",
};
_room.startLivestream(outputs, config: liveStreamConfig);
},
child: const Text("Start Livestream"),
),
ElevatedButton(
onPressed: () {
_room.stopLivestream();
},
child: const Text("Stop Livestream"),
),
MeetingControls(
hlsState: hlsState,
onToggleMicButtonPressed: () {
micEnabled ? _room.muteMic() : _room.unmuteMic();
micEnabled = !micEnabled;
},
onToggleCameraButtonPressed: () {
camEnabled ? _room.disableCam() : _room.enableCam();
camEnabled = !camEnabled;
},
)
],
),
),
);
}
}
imsujan276 commented
needed to use _room.join()
beor starting the livestream