aliyun_rtc_plugin 0.0.1 copy "aliyun_rtc_plugin: ^0.0.1" to clipboard
aliyun_rtc_plugin: ^0.0.1 copied to clipboard

flutter dart plugin for AliRtc implements at Android and iOS Platform.

example/lib/main.dart

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();
  }
}
2
likes
0
pub points
0%
popularity

Publisher

unverified uploader

flutter dart plugin for AliRtc implements at Android and iOS Platform.

Homepage

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on aliyun_rtc_plugin