Flutter视频缩放播放插件flutter_zoom_videosdk的使用

发布于 1周前 作者 sinazl 来自 Flutter

Flutter视频缩放播放插件flutter_zoom_videosdk的使用

flutter-zoom-video-sdk

Video SDK for Flutter

入门指南

为了帮助您轻松开始使用Flutter Video SDK,这里有一个推荐的下一步操作列表。

如果您还没有下载Flutter,请参考官方文档进行安装。

该项目是Flutter插件包的起点,这是一个包含平台特定实现代码的专用包,适用于Android和/或iOS。

要开始进行Flutter开发,请查看在线文档,其中提供教程、示例、移动开发指南以及完整的API参考。

使用方法

SDK初始化配置需要在main.dart中填写。

// 初始化配置
InitConfig initConfig = InitConfig(
  domain: "zoom.us", // 域名
  enableLog: true,   // 是否启用日志
);

获取Video SDK实例。

var zoom = ZoomVideoSdk(); // 获取ZoomVideoSdk实例

打开事件通道并监听原生SDK事件。

var eventListener = ZoomVideoSdkEventListener(); // 创建事件监听器

生成一个SDK JWT Token。

然后,加入一个会话。

// 音频选项
Map<String, bool> SDKaudioOptions = {
  "connect": true,  // 连接音频
  "mute": true      // 静音
};

// 视频选项
Map<String, bool> SDKvideoOptions = {
  "localVideoOn": true, // 开启本地视频
};

// 加入会话配置
JoinSessionConfig joinSession = JoinSessionConfig(
  sessionName: "sessionName", // 会话名称
  sessionPassword: "sessionPwd", // 会话密码
  token: "JWT token", // JWT令牌
  userName: "displayName", // 用户显示名称
  audioOptions: SDKaudioOptions, // 音频选项
  videoOptions: SDKvideoOptions, // 视频选项
  sessionIdleTimeoutMins: "time out minutes", // 会话空闲超时时间(分钟)
);

// 加入会话
await zoom.joinSession(joinSession);

示例应用

请查看example目录中的Zoom Flutter Video SDK示例应用。

文档

请访问Video SDK for Flutter以学习如何使用SDK包装器并运行示例应用程序。

有关完整API和事件监听器列表,请参阅参考文档。

需要帮助?

如果您需要帮助,请尝试开发者支持或开发者论坛。优先支持也可通过Premier Developer Support计划获得。

更新日志

有关更新日志,请参见Video SDK for Flutter。

许可证

使用此SDK受我们的许可和服务条款约束。

开源软件源代码

我们产品中包含的一些开源软件(OSS)许可证赋予您访问源代码的权利。您可以通过以下链接获取相关OSS的源代码副本。请咨询独立法律建议或顾问,以确定您在任何特定OSS项目下发布源代码的责任。

请参阅oss_attribution.txt以获取更多信息。


版权所有©2023 Zoom Video Communications, Inc.保留所有权利。


示例代码

以下是example/lib/main.dart文件的示例代码:

import 'package:flutter/material.dart';
import 'package:flutter_zoom_videosdk/native/zoom_videosdk.dart';
import 'package:flutter_zoom_videosdk_example/screens/call_screen.dart';
import 'package:flutter_zoom_videosdk_example/screens/intro_screen.dart';
import 'package:flutter_zoom_videosdk_example/screens/join_screen.dart';

class ZoomVideoSdkProvider extends StatelessWidget {
  const ZoomVideoSdkProvider({super.key});

  [@override](/user/override)
  Widget build(BuildContext context) {
    var zoom = ZoomVideoSdk(); // 获取ZoomVideoSdk实例
    InitConfig initConfig = InitConfig(
      domain: "zoom.us", // 域名
      enableLog: true,   // 是否启用日志
    );
    zoom.initSdk(initConfig); // 初始化SDK
    return const SafeArea(
      child: IntroScreen(), // 显示IntroScreen
    );
  }
}

void main() {
  runApp(
    MaterialApp(
      title: 'My app', // 应用程序标题
      home: const SafeArea(
        child: ZoomVideoSdkProvider(), // 显示ZoomVideoSdkProvider
      ),
      routes: {
        "Join": (context) => const JoinScreen(), // 路由:JoinScreen
        "Call": (context) => const CallScreen(), // 路由:CallScreen
        "Intro": (context) => const IntroScreen(), // 路由:IntroScreen
      },
    ),
  );
}

更多关于Flutter视频缩放播放插件flutter_zoom_videosdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter视频缩放播放插件flutter_zoom_videosdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是一个关于如何在Flutter项目中使用flutter_zoom_videosdk插件来实现视频缩放播放的示例代码。这个插件允许你在Flutter应用中集成Zoom视频SDK,从而实现视频通话和缩放播放功能。不过需要注意的是,flutter_zoom_videosdk的具体实现和API可能会随着版本的更新而有所变化,因此请参考官方文档以获取最新信息。

首先,确保你已经在pubspec.yaml文件中添加了flutter_zoom_videosdk依赖:

dependencies:
  flutter:
    sdk: flutter
  flutter_zoom_videosdk: ^最新版本号  # 请替换为最新版本号

然后,运行flutter pub get来安装依赖。

接下来,在你的Flutter项目中,你需要进行以下步骤来集成和使用Zoom视频SDK:

  1. 初始化Zoom SDK

在应用的入口文件(通常是main.dart)中,初始化Zoom SDK。这通常涉及到设置SDK的初始化参数,并处理SDK的初始化状态。

import 'package:flutter/material.dart';
import 'package:flutter_zoom_videosdk/flutter_zoom_videosdk.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    // 初始化Zoom SDK
    ZoomMeetingOptions options = ZoomMeetingOptions(
      meetingNumber: "你的会议号",
      userName: "用户名",
      password: "密码", // 如果会议需要密码
      apiKey: "你的API Key",
      apiSecret: "你的API Secret",
      domain: "你的Zoom域名",
    );
    
    FlutterZoomVideoSdk.initialize(options).then((result) {
      if (result) {
        print("Zoom SDK 初始化成功");
        // 可以在这里启动会议
        FlutterZoomVideoSdk.startMeeting(options);
      } else {
        print("Zoom SDK 初始化失败");
      }
    }).catchError((error) {
      print("初始化Zoom SDK时发生错误: $error");
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Zoom Video SDK Demo'),
        ),
        body: Center(
          child: Text('正在初始化Zoom SDK...'),
        ),
      ),
    );
  }
}

注意:上述代码中的会议号、用户名、密码、API Key、API Secret和域名需要替换为你自己的Zoom账户信息。

  1. 处理Zoom SDK的事件

为了处理Zoom SDK的事件,比如会议开始、结束、用户加入等,你需要监听Zoom SDK的事件流。这可以通过FlutterZoomVideoSdk.onMeetingEvent来实现。

@override
void initState() {
  super.initState();
  // 初始化Zoom SDK的代码...

  // 监听Zoom SDK事件
  FlutterZoomVideoSdk.onMeetingEvent.listen((event) {
    if (event is ZoomMeetingStartedEvent) {
      print("会议已开始");
      // 可以在这里添加UI元素来控制缩放等
    } else if (event is ZoomMeetingEndedEvent) {
      print("会议已结束");
    }
    // 处理其他事件...
  });
}
  1. 实现视频缩放功能

Zoom SDK本身提供了丰富的视频控制功能,包括缩放。但是,具体的缩放实现可能依赖于Zoom SDK提供的API。通常,这些API允许你控制摄像头的缩放级别或者视频的显示区域。由于flutter_zoom_videosdk插件的API可能会随着Zoom SDK的更新而变化,因此请参考最新的官方文档来了解如何具体实现缩放功能。

注意:由于flutter_zoom_videosdk插件的API细节可能有所不同,上述代码示例提供了一个基本的框架,但具体的缩放实现可能需要查阅最新的Zoom SDK和flutter_zoom_videosdk插件的文档。

最后,确保你已经遵循了Zoom SDK的所有集成步骤,包括配置你的Zoom开发者账户、获取API Key和Secret、设置域名等。这些信息对于成功集成Zoom SDK至关重要。

回到顶部