ivs_broadcaster 0.0.6
ivs_broadcaster: ^0.0.6 copied to clipboard
IVS Broadcaster SDK for Flutter
example/lib/main.dart
import 'dart:developer';
import 'package:camera/camera.dart';
import 'package:flutter/material.dart';
import 'package:ivs_broadcaster/ivs_broadcaster.dart';
import 'package:ivs_broadcaster_example/home_page.dart';
late List<CameraDescription> cameras;
void main() async {
WidgetsFlutterBinding.ensureInitialized();
cameras = await availableCameras();
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: BroadCastWidget(),
);
}
}
class BroadCastWidget extends StatefulWidget {
const BroadCastWidget({
super.key,
});
@override
State<BroadCastWidget> createState() => _BroadCastWidgetState();
}
class _BroadCastWidgetState extends State<BroadCastWidget> {
IvsBroadcaster? ivsBroadcaster;
late CameraController controller;
@override
void initState() {
super.initState();
ivsBroadcaster = IvsBroadcaster.instance;
ivsBroadcaster!.broadcastStateController.stream.listen((event) {
log(event.name.toString());
});
// controller = CameraController(cameras[0], ResolutionPreset.medium)
// ..initialize().then((_) {
// if (!mounted) {
// return;
// }
// setState(() {});
// });
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
children: [
ElevatedButton(
onPressed: () async {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => HomePage(
ivsBroadcaster: ivsBroadcaster,
),
),
);
},
// child: controller.value.isInitialized
// ? CameraPreview(controller)
// : const SizedBox()),
child: const Text('Start Broadcast')),
//toggle Camera
ElevatedButton(
onPressed: () {
controller = CameraController(
controller.description == cameras[0]
? cameras[1]
: cameras[0],
ResolutionPreset.medium,
);
controller.initialize().then((_) {
if (!mounted) {
return;
}
setState(() {});
});
},
child: const Text('Toggle Camera'),
),
],
),
),
);
}
}