-
安装CocoaPods
-
准备 Podfile
# CocoaPods master repo,如果使用其他的镜像源,此行可修改
# source 'https://github.com/CocoaPods/Specs.git'
# 若CocoaPods 版本高于 1.7.2,建议使用 CDN 地址。
source 'https://cdn.cocoapods.org/'
# ASC 依赖 CocoaPods Repo,必填
source 'https://pt.singsound.com:10081/singsound-public/SingSoundSDKCocoaPodRepo.git'
source 'https://github.com/alo7/ios-repo.git'
target 'YourTargetName' do
platform :ios, "9.0"
pod 'ASC_EXT'
end
-
引入 Framework
#import <ASC_EXT/ASC_EXT.h>
-
初始化 SDK
// 推荐在 AppDelegate didFinishLaunchingWithOptions 方法中初始化SDK NSDictionary *context = @{ iflytekAppId: @"xxxxx" // 讯飞 APP ID, singsoundKey: @"xxxxx" // 先声 SDK APP Key, singsoundSecret: @"xxxxx" // 先声 SDK APP Secret, }; // 初始化 SDK [ASCSDK initialize:context];
-
开始一节课程
// 通过 Lesson ID 创建 ASCSession self.session = [[ASCSession alloc] initLessonId:-1]; self.session.userId = @"xxxxxx"; // 课程模式 self.session.mode = ASCLessonModeClass; // 设置唯一鉴权 token self.session.token = @"xxxxxx"; // 设置代理 (可选) self.session.delegate = self; // 设置Player代理 (可选) self.session.playerDelegate = self; // 开始上课 [ASCSDK startBySession:self.session fromViewController:self];
-
回调方法
// ASC Session 相关回调方法 - (void)ascSessionDidStart:(ASCSession *)session { // 课程开始 } - (void)ascSessionDidExit:(ASCSession *)session { // 课程结束 } - (void)ascSession:(ASCSession *)session didOccurError:(NSError *)error { // 错误处理 } // ASC Session playerDelegate 相关回调方法 - (void)ascSession:(ASCSession *)session playEvent:(ASCEventType)event{ // 播发事件 } - (void)onBufferedPositionUpdate:(ASCSession *)session position:(int64_t)position { // 缓存位置 } - (void)onCurrentPositionUpdate:(ASCSession *)session position:(int64_t)position { //当前位置 }