火山引擎视频点播提供开源 Demo VEVodDemo-iOS,包含常见播放场景的完整源码。在集成播放器 SDK 之前,建议您先参照本文跑通 Demo,体验播放器 SDK 的功能。
开源 Demo 中实现了以下播放场景:
开源 Demo 对播放器 SDK 进行了封装,抽象出播放控件层框架,封装完整播放能力和播放 UI 框架,可以帮助开发者根据需求快速构建播放页面。在播放控件层的基础上,根据常见播放场景的需求,提供短剧、短视频、中视频、长视频等常用场景模块。您可根据自身业务需求,便捷地集成和使用这些控件层。开源 Demo 的具体目录结构如下:
├─ VOLCDemo └── VOLCDemo ├── Base // AppDelegate 等 App 基本文件 └── Pods ├── TTSDK // 火山引擎 SDK(播放器 SDK 载体) ... ├── VEVodMain // App 入口(VEMainViewController) ├── VEBaseKit // 基础组件 ├── VEPlayerKit // 播放控件 ├── VEPlayerUIModule // 播放 UI 控件封装层(旧的 UI 框架将废弃) ├── VESceneModule // 场景模块(短、中、长视频模块示例, 新版本新增短剧场景)
请前往 Demo 体验页面,扫描二维码安装体验。
视频点播通过 License 管理播放器 SDK 及其增值服务的使用权限和时间。在项目测试阶段,您可以在视频点播控制台申请免费的测试 License。您需完成以下操作:
注意
测试 License 仅限项目测试阶段使用,不可续期。测试 License 到期会导致鉴权失败,进而影响业务的正常使用。项目上线前,请升级至正式 License。
在终端中运行以下命令克隆仓库到本地,并进入项目文件夹:
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、播放控件、场景控件三种方式实现播放场景。您可根据具体情况灵活选择适合自己的集成方式: