aliyun_rtc_plugin 0.0.1 aliyun_rtc_plugin: ^0.0.1 copied to clipboard
flutter dart plugin for AliRtc implements at Android and iOS Platform.
import 'package:aliyun_rtc_plugin/aliyun_rtc_plugin_platform_interface.dart';
import 'package:aliyun_rtc_plugin/rtc_video_player.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
// late RtcPlayerController _controller;
late RtcPVPlayerController _controller;
@override
void initState() {
super.initState();
// 初始化实例
// final createMsg = CreateConnectMessage(
// appId: "e9rywabm",
// nonce: "AK-6c73c84a-02c3-4bdb-9f7c-a22797643a3f",
// timestamp: 1672557782,
// token: "ae8158a54cbc8fd9f1b18ca75fcc0a5c130bd624c0dc725004e0b6e8cea79ed2",
// channelId: "10020",
// userId: "101",
// userName: "userName101");
_controller = RtcPVPlayerController.instance();
Future.delayed(const Duration(milliseconds: 500)).then((value) {
final dataSource = DataSource(
appId: "e9rywabm",
nonce: "AK-7f543910-7928-4011-8d28-d14cd607c081",
timestamp: 1675837679,
token:
"f6c8084f9d3b122e0e89a971f00da039ddd1115c7c53f0b60fe21972e62de22e",
channelId: "10021",
userId: "101",
userName: "userName101",
userHeaderImg:
'https://img.tukuppt.com/photo-big/00/00/94/6152bc0ce6e5d805.jpg',
);
_controller.initialize(dataSource);
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Center(child: Builder(
builder: (buildContext) {
return VideoPlayerPlatformView(
controller: _controller,
videoCall: false,
stateChanged: (state) {
debugPrint(
'--------------state Changed----------------------- $state');
if (state == VideoEventType.unknown ||
state == VideoEventType.disconnected) {
Navigator.of(buildContext).pop();
SystemChannels.platform.invokeMethod('SystemNavigator.pop');
}
},
);
},
)),
),
);
}
@override
void dispose() {
super.dispose();
_controller.dispose();
}
}