提交 991420ac authored 作者: kongdywang's avatar kongdywang

1、this is the last OpenGL Share Context version of the surface

2、update to 12.3.0 3、Optimize documents Optimize documents
上级 a92e877e
./CI
./lib/Core/pigeons
\ No newline at end of file
差异被折叠。
...@@ -5,7 +5,7 @@ buildLog() { ...@@ -5,7 +5,7 @@ buildLog() {
} }
inputVersion=$1 inputVersion=$1
export VERSION_NAME="12.2.2" export VERSION_NAME="12.3.0"
if [ -n "$inputVersion" ]; then if [ -n "$inputVersion" ]; then
VERSION_NAME=$inputVersion VERSION_NAME=$inputVersion
fi fi
......
差异被折叠。
差异被折叠。
## 腾讯云播放器SDK Flutter插件 ## 腾讯云播放器SDK Flutter插件
简体中文| [English](./README-EN.md) 简体中文| [English](https://www.tencentcloud.com/document/product/266/51192?lang=en&pg=)
## 阅读对象 ## 阅读对象
...@@ -30,7 +30,22 @@ ...@@ -30,7 +30,22 @@
└── lib // 点播播放、直播播放、播放器组件使用例子 └── lib // 点播播放、直播播放、播放器组件使用例子
``` ```
## 分支说明 ## 播放器分支说明
pub 依赖默认为 Professional 版本的播放器,**如果需要依赖其他版本**,可以直接依赖我们的开源 [Github 仓库](https://github.com/LiteAVSDK/Player_Flutter)
**依赖方式如下**
```yaml
super_player:
git:
url: https://github.com/LiteAVSDK/Player_Flutter
path: Flutter
ref: Player_Premium
# 可通过 ref 来指定需要的版本分支、提交和 release 版本
```
### 分支说明
Flutter 播放器依赖 TXLiteAVSDK,此工程提供 3 个分支,请根据业务需要进行集成: Flutter 播放器依赖 TXLiteAVSDK,此工程提供 3 个分支,请根据业务需要进行集成:
...@@ -44,20 +59,20 @@ Flutter 播放器依赖 TXLiteAVSDK,此工程提供 3 个分支,请根据业 ...@@ -44,20 +59,20 @@ Flutter 播放器依赖 TXLiteAVSDK,此工程提供 3 个分支,请根据业
腾讯云视立方·播放器 SDK 是音视频终端 SDK(腾讯云视立方)的子产品 SDK 之一,基于腾讯云强大的后台能力与 AI 技术,提供视频点播和直播播放能力的强大播放载体。结合腾讯云点播或云直播使用,可以快速体验流畅稳定的播放性能。充分覆盖多类应用场景,满足客户多样需求,让客户轻松聚焦于业务发展本身,畅享极速高清播放新体验。 腾讯云视立方·播放器 SDK 是音视频终端 SDK(腾讯云视立方)的子产品 SDK 之一,基于腾讯云强大的后台能力与 AI 技术,提供视频点播和直播播放能力的强大播放载体。结合腾讯云点播或云直播使用,可以快速体验流畅稳定的播放性能。充分覆盖多类应用场景,满足客户多样需求,让客户轻松聚焦于业务发展本身,畅享极速高清播放新体验。
- [集成指引](./docs/集成指引.md):腾讯云视立方 Flutter 播放器是基于点播和直播播放SDK的一个 Flutter 插件,同时支持 Android 和 iOS 两个平台。 - [集成指引](https://cloud.tencent.com/document/product/881/81252):腾讯云视立方 Flutter 播放器是基于点播和直播播放SDK的一个 Flutter 插件,同时支持 Android 和 iOS 两个平台。
此项目提供了点播播放和直播播放,您可以基于播放器搭建自己的播放业务: 此项目提供了点播播放和直播播放,您可以基于播放器搭建自己的播放业务:
- [点播播放](https://github.com/LiteAVSDK/Player_Flutter/blob/main/Flutter/docs/%E7%82%B9%E6%92%AD%E6%92%AD%E6%94%BE.md)`TXVodPlayerController`对Android和iOS两个平台的点播播放器SDK进行接口封装, 你可以通过集成`TXVodPlayerController`进行点播播放业务开发。详细使用例子可以参考`DemoTXVodPlayer` - [点播播放](https://cloud.tencent.com/document/product/881/81253)`TXVodPlayerController`对Android和iOS两个平台的点播播放器SDK进行接口封装, 你可以通过集成`TXVodPlayerController`进行点播播放业务开发。详细使用例子可以参考`DemoTXVodPlayer`
- [直播播放](https://github.com/LiteAVSDK/Player_Flutter/blob/main/Flutter/docs/%E7%9B%B4%E6%92%AD%E6%92%AD%E6%94%BE.md)`TXLivePlayerController`对Android和iOS两个平台的直播播放器SDK进行接口封装, 你可以通过集成`TXLivePlayerController`进行直播播放业务开发。详细使用例子可以参考`DemoTXLivePlayer` - [直播播放](https://cloud.tencent.com/document/product/881/81254)`TXLivePlayerController`对Android和iOS两个平台的直播播放器SDK进行接口封装, 你可以通过集成`TXLivePlayerController`进行直播播放业务开发。详细使用例子可以参考`DemoTXLivePlayer`
- [播放器API文档](./docs/API文档.md):包含播放器配置、点播播放和直播播放等API使用说明。 - [播放器API文档](https://cloud.tencent.com/document/product/881/81255):包含播放器配置、点播播放和直播播放等API使用说明。
为了减少接入成本, 在example里提供了播放器组件(带UI的播放器),基于播放器组件简单的几行代码就可以搭建视频播放业务。您可以根据自己项目的需求, 把播放组件的相关代码应用到项目中去,根据需求进行调整UI和交互细节。 为了减少接入成本, 在example里提供了播放器组件(带UI的播放器),基于播放器组件简单的几行代码就可以搭建视频播放业务。您可以根据自己项目的需求, 把播放组件的相关代码应用到项目中去,根据需求进行调整UI和交互细节。
- [播放器组件](https://github.com/LiteAVSDK/Player_Flutter/blob/main/Flutter/docs/%E6%92%AD%E6%94%BE%E5%99%A8%E7%BB%84%E4%BB%B6.md)`SuperPlayerController` 播放器组件,对点播和直播进行了二次封装,可以方便你快速简单集成。目前是Beta版本,功能还在完善中。详细使用例子可以参考`DemoSuperplayer` - [播放器组件](https://cloud.tencent.com/document/product/881/81250)`SuperPlayerController` 播放器组件,对点播和直播进行了二次封装,可以方便你快速简单集成。详细使用例子可以参考`DemoSuperplayer`
## 深度定制开发指引 ## 深度定制开发指引
腾讯云播放器SDK Flutter插件对原生播放器能力进行了封装, 如果您要进行深度定制开发,建议采用如下方法: 腾讯云播放器SDK Flutter插件对原生播放器能力进行了封装, 如果您要进行深度定制开发,建议采用如下方法:
......
...@@ -4,7 +4,7 @@ rootProject.ext { ...@@ -4,7 +4,7 @@ rootProject.ext {
supportSdkVersion = "26.0.1" supportSdkVersion = "26.0.1"
minSdkVersion = 19 minSdkVersion = 19
targetSdkVersion = 28 targetSdkVersion = 28
playerVersion = '12.2.2' playerVersion = '12.3.0'
compat = "androidx.appcompat:appcompat:1.6.1" compat = "androidx.appcompat:appcompat:1.6.1"
/** /**
...@@ -14,5 +14,5 @@ rootProject.ext { ...@@ -14,5 +14,5 @@ rootProject.ext {
Professional SDK: liteavSdk="com.tencent.liteav:LiteAVSDK_Professional:latest.release" Professional SDK: liteavSdk="com.tencent.liteav:LiteAVSDK_Professional:latest.release"
If you want to specify the SDK version(eg 11.7.0.13946), use: liteavSdk="com.tencent.liteav:LiteAVSDK_Player:11.7.0.13946" If you want to specify the SDK version(eg 11.7.0.13946), use: liteavSdk="com.tencent.liteav:LiteAVSDK_Player:11.7.0.13946"
*/ */
liteavSdk="com.tencent.liteav:LiteAVSDK_Player:12.2.0.15072" liteavSdk="com.tencent.liteav:LiteAVSDK_Player:12.3.0.17115"
} }
\ No newline at end of file
...@@ -72,7 +72,8 @@ public class EGL14Helper implements EGLHelper<EGLContext> { ...@@ -72,7 +72,8 @@ public class EGL14Helper implements EGLHelper<EGLContext> {
LiteavLog.d(TAG, "NOTE: makeCurrent w/o display"); LiteavLog.d(TAG, "NOTE: makeCurrent w/o display");
} }
if (!EGL14.eglMakeCurrent(mEGLDisplay, mEGLSurface, mEGLSurface, mEGLContext)) { if (!EGL14.eglMakeCurrent(mEGLDisplay, mEGLSurface, mEGLSurface, mEGLContext)) {
throw new RuntimeException("eglMakeCurrent failed"); checkEGLError();
LiteavLog.e(TAG, "eglMakeCurrent failed");
} }
} }
...@@ -104,13 +105,15 @@ public class EGL14Helper implements EGLHelper<EGLContext> { ...@@ -104,13 +105,15 @@ public class EGL14Helper implements EGLHelper<EGLContext> {
private boolean initialize(EGLConfig config, EGLContext context, Surface surface) { private boolean initialize(EGLConfig config, EGLContext context, Surface surface) {
mEGLDisplay = EGL14.eglGetDisplay(EGL14.EGL_DEFAULT_DISPLAY); mEGLDisplay = EGL14.eglGetDisplay(EGL14.EGL_DEFAULT_DISPLAY);
if (mEGLDisplay == EGL14.EGL_NO_DISPLAY) { if (mEGLDisplay == EGL14.EGL_NO_DISPLAY) {
throw new RuntimeException("unable to get EGL14 display"); checkEGLError();
LiteavLog.i(TAG, "unable to get EGL14 display");
} }
int[] version = new int[2]; int[] version = new int[2];
if (!EGL14.eglInitialize(mEGLDisplay, version, 0, version, 1)) { if (!EGL14.eglInitialize(mEGLDisplay, version, 0, version, 1)) {
mEGLDisplay = null; mEGLDisplay = null;
throw new RuntimeException("unable to initialize EGL14"); checkEGLError();
LiteavLog.i(TAG, "unable to initialize EGL14");
} }
if (config != null) { if (config != null) {
...@@ -183,8 +186,7 @@ public class EGL14Helper implements EGLHelper<EGLContext> { ...@@ -183,8 +186,7 @@ public class EGL14Helper implements EGLHelper<EGLContext> {
private void checkEGLError() { private void checkEGLError() {
int ec = EGL14.eglGetError(); int ec = EGL14.eglGetError();
if (ec != EGL14.EGL_SUCCESS) { if (ec != EGL14.EGL_SUCCESS) {
LiteavLog.e(TAG, "EGL error:" + ec); LiteavLog.e(TAG, "EGL error:" + ec + ", code: 0x" + Integer.toHexString(ec));
throw new RuntimeException(": EGL error: 0x" + Integer.toHexString(ec));
} }
} }
} }
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# CocoaPods analytics sends network stats synchronously affecting flutter build latency. # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true' ENV['COCOAPODS_DISABLE_STATS'] = 'true'
platform :ios, '12.0'
project 'Runner', { project 'Runner', {
'Debug' => :debug, 'Debug' => :debug,
......
差异被折叠。
...@@ -4,20 +4,20 @@ ...@@ -4,20 +4,20 @@
# #
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = 'super_player' s.name = 'super_player'
s.version = '12.2.2' s.version = '12.3.0'
s.summary = 'player plugin.' s.summary = 'player plugin.'
s.description = <<-DESC s.description = <<-DESC
player plugin. player plugin.
DESC DESC
s.homepage = 'http://example.com' s.homepage = 'http://example.com'
s.license = { :file => '../LICENSE' } s.license = { :file => './LICENSE' }
s.author = { 'Your Company' => 'email@example.com' } s.author = { 'Your Company' => 'email@example.com' }
s.source = { :path => '.' } s.source = { :path => '.' }
s.source_files = 'Classes/**/*' s.source_files = 'Classes/**/*'
s.public_header_files = 'Classes/**/*.h' s.public_header_files = 'Classes/**/*.h'
s.dependency 'Flutter' s.dependency 'Flutter'
s.ios.framework = ['MobileCoreServices'] s.ios.framework = ['MobileCoreServices']
s.platform = :ios, '9.0' s.platform = :ios, '12.0'
s.static_framework = true s.static_framework = true
s.resources = ['Classes/TXResource/**/*'] s.resources = ['Classes/TXResource/**/*']
...@@ -26,7 +26,7 @@ player plugin. ...@@ -26,7 +26,7 @@ player plugin.
# Player_Premium SDK: s.dependency 'TXLiteAVSDK_Player_Premium' # Player_Premium SDK: s.dependency 'TXLiteAVSDK_Player_Premium'
# Professional SDK: s.dependency 'TXLiteAVSDK_Professional' # Professional SDK: s.dependency 'TXLiteAVSDK_Professional'
# If you want to specify the SDK version(eg 11.6.15041), use: s.dependency 'TXLiteAVSDK_Player','11.6.15041' # If you want to specify the SDK version(eg 11.6.15041), use: s.dependency 'TXLiteAVSDK_Player','11.6.15041'
s.dependency 'TXLiteAVSDK_Player','12.2.16956' s.dependency 'TXLiteAVSDK_Player','12.3.16995'
# Flutter.framework does not contain a i386 slice. # Flutter.framework does not contain a i386 slice.
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
......
...@@ -62,12 +62,6 @@ class BoolPlayerMsg { ...@@ -62,12 +62,6 @@ class BoolPlayerMsg {
bool? value; bool? value;
} }
class StringIntPlayerMsg {
int? playerId;
String? strValue;
int? intValue;
}
class StringPlayerMsg { class StringPlayerMsg {
int? playerId; int? playerId;
String? value; String? value;
......
name: super_player name: super_player
description: player plugin. description: player plugin.
version: 12.2.2 version: 12.3.0
author: homepage: https://github.com/LiteAVSDK/Player_Flutter
homepage:
environment: environment:
sdk: '>=2.17.0 <4.0.0' sdk: '>=2.17.0 <4.0.0'
......
差异被折叠。
English| [简体中文](./README.md) ## Tencent Cloud Player SDK Flutter Plugin
#### Composition of Player SDK for Flutter plugin [Simplified Chinese](https://cloud.tencent.com/document/product/881/81252)| English
- VOD player SDK ## Audience
- Live player SDK
- Superplayer component Some content in this document pertains to exclusive capabilities of Tencent Cloud. Please activate the relevant services on [Tencent Cloud](https://cloud.tencent.com/) before use. Unregistered users can register for a [free trial](https://cloud.tencent.com/login).
\ No newline at end of file
## **Upgrade Notes**
Starting from version 10.1 of the Player SDK for mobile (Android & iOS & Flutter), the version is built using the same playback core as "Tencent Video," resulting in a comprehensive optimization and upgrade of video playback capabilities.
Additionally, from this version onward, authorization verification for the "video playback" functional module will be added. **If your app already has a live streaming license or a short video license, you can continue to use it normally after upgrading to version 10.1,** and will not be affected by this change. You can log in to the [Tencent Cloud Vcube Console](https://console.cloud.tencent.com/vcube) to check your current license authorization information.
If you have never obtained the aforementioned license authorization **and need to use the live playback or on-demand playback features in the new version SDK (10.1 and above), you will need to purchase a specified license for authorization.** For details, please refer to the [Authorization Instructions](https://cloud.tencent.com/document/product/881/74199#.E6.8E.88.E6.9D.83.E8.AF.B4.E6.98.8E); if you do not need to use the related features or have not upgraded to the latest version of the SDK, you will not be affected by this change.
## Project Directory Structure
This directory contains the Tencent Cloud Player SDK Flutter plugin and demo source code, mainly demonstrating how to call interfaces and the most basic functionalities.
```
├── android // Player plugin Android source code
├── ios // Player plugin iOS source code
├── lib // Player plugin Dart source code
├── docs // Help documentation
├── superplayer_widget // Player component
└── example // Player-related demo code
├── android // Android demo source code
├── ios // iOS demo source code
└── lib // Examples of on-demand playback, live playback, and player component usage
```
## Player Branch Explanation
The default pub dependency is the Professional version of the player. **If you need to depend on other versions,** you can directly rely on our open-source [GitHub repository](https://github.com/LiteAVSDK/Player_Flutter).
**Dependency method is as follows:**
```yaml
super_player:
git:
url: https://github.com/LiteAVSDK/Player_Flutter
path: Flutter
ref: Player_Premium
# You can specify the required version branch, commit, and release version through ref
```
### Branch Explanation
The Flutter player depends on TXLiteAVSDK. This project provides 3 branches; please integrate according to your business needs:
[main](https://github.com/LiteAVSDK/Player_Flutter/tree/main): Depends on TXLiteAVSDK_Player SDK, the default branch.
[Professional](https://github.com/LiteAVSDK/Player_Flutter/tree/Professional): Depends on TXLiteAVSDK_Professional SDK. If your project has already integrated TXLiteAVSDK_Professional SDK, you need to integrate this branch.
[Player_Premium](https://github.com/LiteAVSDK/Player_Flutter/tree/Player_Premium): Depends on TXLiteAVSDK_Player_Premium SDK, which includes value-added features such as external subtitles and multiple audio tracks, supported from version 11.7 onwards.
## Introduction to Flutter Player
The Tencent Cloud Video Player SDK is one of the sub-product SDKs of the audio and video terminal SDK (Tencent Cloud Video). Leveraging Tencent Cloud's powerful backend capabilities and AI technology, it provides a robust platform for video on-demand and live streaming playback. When combined with Tencent Cloud's on-demand or live streaming services, users can quickly experience smooth and stable playback performance. It covers a wide range of application scenarios to meet diverse customer needs, allowing clients to focus easily on their business development while enjoying a new experience of ultra-fast and high-definition playback.
- [Integration Guide](https://www.tencentcloud.com/document/product/266/51192): The Tencent Cloud Video Player Flutter plugin is based on the on-demand and live streaming playback SDK, supporting both Android and iOS platforms.
This project provides both on-demand and live streaming playback, allowing you to build your own playback services based on the player:
- [On-Demand Playback](https://www.tencentcloud.com/document/product/266/51748): `TXVodPlayerController` encapsulates the interface of the on-demand player SDK for both Android and iOS platforms. You can develop on-demand playback services by integrating `TXVodPlayerController`. For detailed usage examples, refer to `DemoTXVodPlayer`.
- [Live Streaming Playback](https://www.tencentcloud.com/document/product/266/64320): `TXLivePlayerController` encapsulates the interface of the live streaming player SDK for both Android and iOS platforms. You can develop live streaming services by integrating `TXLivePlayerController`. For detailed usage examples, refer to `DemoTXLivePlayer`.
- [Player API Documentation](https://www.tencentcloud.com/document/product/266/51191): This includes API usage instructions for player configuration, on-demand playback, and live streaming playback.
To reduce integration costs, a player component (UI-enabled player) is provided in the example, allowing you to set up video playback services with just a few lines of code. You can apply the relevant code of the playback component to your project based on your needs and adjust the UI and interaction details as required.
- [Player Component](https://www.tencentcloud.com/document/product/266/51193): The `SuperPlayerController` player component encapsulates both on-demand and live streaming functionalities, making it easy for you to integrate quickly and simply. For detailed usage examples, refer to `DemoSuperplayer`.
## Deep Customization Development Guide
The Tencent Cloud Player SDK Flutter plugin encapsulates the capabilities of the native player. If you wish to conduct deep customization development, it is recommended to use the following methods:
- For on-demand playback, use the interface class `TXVodPlayerController`, or for live streaming playback, use the interface class `TXLivePlayerController` for customization development. The project provides demo examples for customization development, which can be referenced in the example project’s `DemoTXVodPlayer` and `DemoTXLivePlayer`.
- The player component `SuperPlayerController` encapsulates both on-demand and live streaming functionalities while providing simple UI interactions. Since this part of the code is in the example directory, if you have customization needs for the player component, you can do the following:
Import the relevant code of the player component, located in the directory: `Flutter/superplayer_widget`, into your project for customization development.
## Documentation Links
- [Player SDK Official Website](https://www.tencentcloud.com/document/product/266/7836)
\ No newline at end of file
简体中文| [English](./README-EN.md) ## 腾讯云播放器SDK Flutter插件
#### 腾讯云播放器SDK Flutter插件,包括: 简体中文| [English](https://www.tencentcloud.com/document/product/266/51192?lang=en&pg=)
- 点播播放器 SDK ## 阅读对象
- 直播播放器 SDK
- 播放器组件
本文档部分内容为腾讯云专属能力,使用前请开通 [腾讯云](https://cloud.tencent.com/) 相关服务,未注册用户可注册账号 [免费试用](https://cloud.tencent.com/login)
## **升级说明**
播放器 SDK 移动端10.1(Android & iOS & Flutter)开始 版本采用“腾讯视频”同款播放内核打造,视频播放能力获得全面优化升级。
同时从该版本开始将增加对“视频播放”功能模块的授权校验,**如果您的APP已经拥有直播推流 License 或者短视频 License 授权,当您升级至10.1 版本后仍可以继续正常使用,**不受到此次变更影响,您可以登录 [腾讯云视立方控制台](https://console.cloud.tencent.com/vcube) 查看您当前的 License 授权信息。
如果您在此之前从未获得过上述License授权**,且需要使用新版本SDK(10.1及其更高版本)中的直播播放或点播播放功能,则需购买指定 License 获得授权**,详情参见[授权说明](https://cloud.tencent.com/document/product/881/74199#.E6.8E.88.E6.9D.83.E8.AF.B4.E6.98.8E);若您无需使用相关功能或未升级至最新版本SDK,将不受到此次变更的影响。
## 工程目录结构说明
本目录包含腾讯云播放器SDK Flutter 插件 和 Demo 源代码,主要演示接口如何调用以及最基本的功能。
```
├── android // 播放器插件android源代码
├── ios // 播放器插件iOS源代码
├── lib // 播放器插件dart源代码
├── docs // 帮助文档
├── superplayer_widget // 播放器组件
└── example // 播放器相关demo代码
├── android // android的demo源代码
├── ios // iOS的demo源代码
└── lib // 点播播放、直播播放、播放器组件使用例子
```
## 播放器分支说明
pub 依赖默认为 Professional 版本的播放器,**如果需要依赖其他版本**,可以直接依赖我们的开源 [Github 仓库](https://github.com/LiteAVSDK/Player_Flutter)
**依赖方式如下**
```yaml
super_player:
git:
url: https://github.com/LiteAVSDK/Player_Flutter
path: Flutter
ref: Player_Premium
# 可通过 ref 来指定需要的版本分支、提交和 release 版本
```
### 分支说明
Flutter 播放器依赖 TXLiteAVSDK,此工程提供 3 个分支,请根据业务需要进行集成:
[main](https://github.com/LiteAVSDK/Player_Flutter/tree/main):依赖 TXLiteAVSDK_Player SDK,默认分支。
[Professional](https://github.com/LiteAVSDK/Player_Flutter/tree/Professional):依赖 TXLiteAVSDK_Professional SDK,如果项目中已经集成 TXLiteAVSDK_Professional SDK ,则需要集成此分支。
[Player_Premium](https://github.com/LiteAVSDK/Player_Flutter/tree/Player_Premium): 依赖 TXLiteAVSDK_Player_Premium SDK,包含外挂字幕、多音轨等增值功能,从 11.7 版本开始支持。
## Flutter播放器简介
腾讯云视立方·播放器 SDK 是音视频终端 SDK(腾讯云视立方)的子产品 SDK 之一,基于腾讯云强大的后台能力与 AI 技术,提供视频点播和直播播放能力的强大播放载体。结合腾讯云点播或云直播使用,可以快速体验流畅稳定的播放性能。充分覆盖多类应用场景,满足客户多样需求,让客户轻松聚焦于业务发展本身,畅享极速高清播放新体验。
- [集成指引](https://cloud.tencent.com/document/product/881/81252):腾讯云视立方 Flutter 播放器是基于点播和直播播放SDK的一个 Flutter 插件,同时支持 Android 和 iOS 两个平台。
此项目提供了点播播放和直播播放,您可以基于播放器搭建自己的播放业务:
- [点播播放](https://cloud.tencent.com/document/product/881/81253)`TXVodPlayerController`对Android和iOS两个平台的点播播放器SDK进行接口封装, 你可以通过集成`TXVodPlayerController`进行点播播放业务开发。详细使用例子可以参考`DemoTXVodPlayer`
- [直播播放](https://cloud.tencent.com/document/product/881/81254)`TXLivePlayerController`对Android和iOS两个平台的直播播放器SDK进行接口封装, 你可以通过集成`TXLivePlayerController`进行直播播放业务开发。详细使用例子可以参考`DemoTXLivePlayer`
- [播放器API文档](https://cloud.tencent.com/document/product/881/81255):包含播放器配置、点播播放和直播播放等API使用说明。
为了减少接入成本, 在example里提供了播放器组件(带UI的播放器),基于播放器组件简单的几行代码就可以搭建视频播放业务。您可以根据自己项目的需求, 把播放组件的相关代码应用到项目中去,根据需求进行调整UI和交互细节。
- [播放器组件](https://cloud.tencent.com/document/product/881/81250)`SuperPlayerController` 播放器组件,对点播和直播进行了二次封装,可以方便你快速简单集成。详细使用例子可以参考`DemoSuperplayer`
## 深度定制开发指引
腾讯云播放器SDK Flutter插件对原生播放器能力进行了封装, 如果您要进行深度定制开发,建议采用如下方法:
- 基于点播播放,接口类为`TXVodPlayerController` 或直播播放,接口类为`TXLivePlayerController`,进行定制开发,项目中提供了定制开发Demo,可参考example工程里的`DemoTXVodPlayer``DemoTXLivePlayer`
- 播放器组件`SuperPlayerController` 对点播和直播进行了封装,同时提供了简单的UI交互, 由于此部分代码在example目录。如果您有对播放器组件定制化的需求,您可以进行如下操作:
把播放器组件相关的代码,代码目录:`Flutter/superplayer_widget`,导入到您的项目中,进行定制化开发。
## 文档链接
- [播放器SDK官网](https://cloud.tencent.com/document/product/881)
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论