You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PatientApp-KKUMC/lib/pages/conference/web_rtc/call_home_page_.dart

205 lines
6.7 KiB
Dart

// import 'dart:async';
// import 'dart:convert';
//
// import 'package:diplomaticquarterapp/pages/conference/web_rtc/widgets/cam_view_widget.dart';
// import 'package:diplomaticquarterapp/pages/conference/widgets/noise_box.dart';
// import 'package:diplomaticquarterapp/pages/webRTC/signaling.dart';
// import 'package:flutter/material.dart';
// import 'package:flutter/services.dart';
// import 'package:flutter_webrtc/flutter_webrtc.dart';
//
// import '../conference_button_bar.dart';
//
// class CallHomePage extends StatefulWidget {
// final String receiverId;
// final String callerId;
//
// const CallHomePage({Key key, this.receiverId, this.callerId}) : super(key: key);
//
// @override
// _CallHomePageState createState() => _CallHomePageState();
// }
//
// class _CallHomePageState extends State<CallHomePage> {
// bool showNoise = true;
// RTCVideoRenderer _localRenderer = RTCVideoRenderer();
// RTCVideoRenderer _remoteRenderer = RTCVideoRenderer();
//
// final StreamController<bool> _audioButton = StreamController<bool>.broadcast();
// final StreamController<bool> _videoButton = StreamController<bool>.broadcast();
// final StreamController<bool> _onButtonBarVisibleStreamController = StreamController<bool>.broadcast();
// final StreamController<double> _onButtonBarHeightStreamController = StreamController<double>.broadcast();
//
// //Stream to enable video
// MediaStream localMediaStream;
// MediaStream remoteMediaStream;
// Signaling signaling = Signaling();
//
// @override
// void initState() {
// // TODO: implement initState
// super.initState();
// startCall();
// }
//
// startCall() async{
// await _localRenderer.initialize();
// await _remoteRenderer.initialize();
// await signaling.init();
// final connected = await receivedCall();
// }
//
//
// Future<bool> receivedCall() async {
// //Stream local media
// localMediaStream = await navigator.mediaDevices.getUserMedia({'video': true, 'audio': true});
// _localRenderer.srcObject = localMediaStream;
//
// final connected = await signaling.acceptCall(widget.callerId, widget.receiverId, localMediaStream: localMediaStream,
// onRemoteMediaStream: (remoteMediaStream){
//
// // print(remoteMediaStream.toString());
// // print(json.encode(remoteMediaStream.getTracks().asMap()));
// this.remoteMediaStream = remoteMediaStream;
// _remoteRenderer.srcObject = remoteMediaStream;
// _remoteRenderer.addListener(() {
// print('_remoteRenderer');
// print(_remoteRenderer);
// setState(() {});
// });
// },
// onRemoteTrack: (track){
// _remoteRenderer.srcObject.addTrack(track.track);
// // setState(() {
// // });
//
// print(track.streams.first.getVideoTracks());
// print(track.streams.first.getAudioTracks());
// print(json.encode(track.streams.asMap()));
// }
// );
//
// if(connected){
// signaling.signalR.listen(
// onAcceptCall: (arg0){
// print(arg0.toString());
// },
// onCandidate: (candidateJson){
// signaling.addCandidate(candidateJson);
// },
// onDeclineCall: (arg0,arg1){
// // _onHangup();
// },
// onHangupCall: (arg0){
// // _onHangup();
// },
//
// onOffer: (offerSdp, callerUser) async{
// print('${offerSdp.toString()} | ${callerUser.toString()}');
// await signaling.answerOffer(offerSdp);
// }
// );
// }
// return connected;
// }
//
// @override
// void dispose() {
// // TODO: implement dispose
// super.dispose();
// signaling.dispose();
// _localRenderer?.dispose();
// _remoteRenderer?.dispose();
// _audioButton?.close();
// _videoButton?.close();
// localMediaStream?.dispose();
// remoteMediaStream?.dispose();
// _disposeStreamsAndSubscriptions();
// }
//
// Future<void> _disposeStreamsAndSubscriptions() async {
// if (_onButtonBarVisibleStreamController != null) await _onButtonBarVisibleStreamController.close();
// if (_onButtonBarHeightStreamController != null) await _onButtonBarHeightStreamController.close();
// }
//
// @override
// Widget build(BuildContext context) {
// return Scaffold(
// backgroundColor: Colors.white,
// body: buildLayout(),
// );
// }
//
// LayoutBuilder buildLayout() {
// return LayoutBuilder(
// builder: (BuildContext context, BoxConstraints constraints) {
// return Stack(
// children: [
// CamViewWidget(
// localRenderer: _localRenderer,
// remoteRenderer: _remoteRenderer,
// constraints: constraints,
// onButtonBarVisibleStreamController: _onButtonBarVisibleStreamController,
// onButtonBarHeightStreamController: _onButtonBarHeightStreamController,
// ),
// ConferenceButtonBar(
// audioEnabled: _audioButton.stream,
// videoEnabled: _videoButton.stream,
// onAudioEnabled: _onAudioEnable,
// onVideoEnabled: _onVideoEnabled,
// onSwitchCamera: _onSwitchCamera,
// onHangup: _onHangup,
// onPersonAdd: () {},
// onPersonRemove: () {},
// onHeight: _onHeightBar,
// onShow: _onShowBar,
// onHide: _onHideBar,
// ),
// ],
// );
// },
// );
// }
//
// Function _onAudioEnable() {
// final audioTrack = localMediaStream.getAudioTracks()[0];
// final mute = audioTrack.muted;
// Helper.setMicrophoneMute(!mute, audioTrack);
// _audioButton.add(mute);
// }
//
// Function _onVideoEnabled() {
// final videoTrack = localMediaStream.getVideoTracks()[0];
// bool videoEnabled = videoTrack.enabled;
// localMediaStream.getVideoTracks()[0].enabled = !videoEnabled;
// _videoButton.add(!videoEnabled);
// }
//
// Function _onSwitchCamera() {
// Helper.switchCamera(localMediaStream.getVideoTracks()[0]);
// }
//
// void _onShowBar() {
// setState(() {
// });
// _onButtonBarVisibleStreamController.add(true);
// }
//
// void _onHeightBar(double height) {
// _onButtonBarHeightStreamController.add(height);
// }
//
// void _onHideBar() {
// setState(() {
// SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom]);
// });
// _onButtonBarVisibleStreamController.add(false);
// }
//
// Future<void> _onHangup() async {
// signaling.hangupCall(widget.callerId, widget.receiverId);
// print('onHangup');
// Navigator.of(context).pop();
// }
// }