火山引擎视频点播提供开源 Demo VEVodDemo-iOS,包含常见播放场景的完整源码。在集成点播 SDK 之前,建议您先参照本文跑通 Demo,体验点播 SDK 的功能。
开源 Demo 中实现了以下播放场景:
开源 Demo 对点播 SDK 进行了封装,抽象出播放控件层框架,以提供基础的播放功能。在播放控件层的基础上,根据常见播放场景的需求,提供场景控件层。您可以根据自身的业务需求,轻松地集成和使用这些控件层。开源 Demo 的具体目录结构如下:
├─ VOLCDemo └── VOLCDemo // 主工程路径 ├── Base // AppDelegate 等 App 基本文件 └── Pods // Pod 库工程路径 └── Development Pods //通过 Pod 的 Dev 模式引入的本地库 ├── VEVodMain // Demo 入口 ├── VEPlayModule // 火山引擎场景模块(短、中、长视频模块示例),依赖 VEPlayerKit,每个场景也可以单独引入,均为一个 subspec ├── VEPlayerKit // 火山引擎点播播放器封装层,依赖 TTSDK-Player ├── VEPlayerUIModule // 火山引擎点播 UI 控件封装层,通过协议与播放器结合,没有依赖项 ├── VESceneKit // 火山引擎短视频场景框架,封装了一个上下滑动场景(类似抖音主场景)的控件,没有依赖项 └── Pods // 其余三方库(包含 TTSDK)
请前往 Demo 体验页面,扫描二维码安装体验。
在终端中运行以下命令克隆仓库到本地,并进入项目文件夹:
git clone https://github.com/volcengine/VEVodDemo-iOS.git cd VEVodDemo-iOS
执行以下命令。执行成功后使用 Xcode 打开 VOLCDemo.xcworkspace
工程文件。
pod install --repo-update
将下载至本地的 License 文件导入到工程中。
在 AppDelegate.m
文件中,修改 appId
和 licenseName
的值。
- (void)initTTSDK {
#ifdef DEBUG
/// 建议 Debug 期间打开 Log 开关
[TTVideoEngine setLogFlag:TTVideoEngineLogFlagAll];
#endif
// 替换成您在视频点播控制台中复制的应用 ID
NSString *appId = @"your app id";
// 替换成实际的 License 文件名称
NSString *licenseName = @"your license file name";
if (appId.length == 0 || licenseName.length == 0) {
UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil message:NSLocalizedStringFromTable(@"tip_license_required", @"VodLocalizable", nil) preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *vidSource = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
exit(0);
}];
[alert addAction:vidSource];
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
return;
}
// ...
}
修改 Demo 的 Bundle Identifier,确保与您在点播控制台创建应用时填写的 Bundle ID 保持一致。
单击 Build 图标开始编译项目。编译成功后,将在您的 iOS 设备上自动打开如下界面。
火山引擎提供点播 SDK、播放控件层、场景控件层三种方式实现播放场景。您可根据具体情况灵活选择适合自己的集成方式: