本文介绍在iOS端通过标准集成(无UI)方式实现老师端推流和学生观看(播流)的功能。
背景信息
老师端推流和观众端观看是互动课堂的基础场景。从集成的角度看,两个场景是独立于彼此的。用户可根据业务需要选择集成两个场景或其中一个场景。例如,只需要集成老师端推流的用户可以只集成老师端,避免接入不需要的模块而增加包大小。
前提条件
- 客户端集成前,请确保已经通过控制台创建应用并获取客户端集成需要的信息(应用ID,APP Key)。创建指引请参见创建应用。
- 客户端集成前,请确保已经完成服务端集成。集成指引请参见集成服务端SDK。
环境要求
- 设备类型:支持iPhone和iPad所有型号。
- CPU架构:支持armv7、arm64、x86_64架构,不支持i386架构。
- 系统版本:支持iOS 10.0及以上版本。
- 其他:不支持bitcode,不支持屏幕旋转。
老师端
- 通过CocoaPods添加SDK依赖。
将下列依赖库添加到已有的Podfile
中。其中AliInteractiveRoomBundle
是互动课堂标准集成(无UI)的入口库,其他都是AliInteractiveRoomBundle
的依赖库。
pod 'AliInteractiveRoomBundle', '1.8.0'
pod 'AliInteractiveRTCCore', '1.8.0'
pod 'AliRTCSdk', '2.5.7'
pod 'AliInteractiveWhiteBoardCore', '1.8.0'
pod 'AliInteractiveDocumentCore', '1.8.0'
- 配置设备权限。
上课需要获取设备本身的摄像头使用权限、麦克风的使用权限、WIFI网络的使用权限,即需要在Xcode工程本身的
plist文件中主动配置以下三项:
Key |
Value |
Privacy - Camera Usage Description |
Use camera |
Privacy - Microphone Usage Description |
Use microphone |
Application uses Wi-Fi |
YES |
配置后效果如下所示:
- 写代码。完整的代码实现逻辑请参见iOS互动课堂老师端标准集成源码。
学生端
- 通过CocoaPods添加SDK依赖。
将下列依赖库添加到已有的Podfile
中。其中AliInteractiveRoomBundle
是互动课堂标准集成(无UI)的入口库,其他都是AliInteractiveRoomBundle
的依赖库。
pod 'AliInteractiveRoomBundle', '1.8.0'
pod 'AliInteractiveRTCCore', '1.8.0'
pod 'AliRTCSdk', '2.5.7'
pod 'AliInteractiveWhiteBoardCore', '1.8.0'
pod 'AliInteractiveDocumentCore', '1.8.0'
pod 'AliInteractiveVideoPlayerCore', '1.8.0'
pod 'AliPlayerSDK_iOS', '5.4.4.0'
- 配置设备权限。
上课需要获取设备本身的摄像头使用权限、麦克风的使用权限、WIFI网络的使用权限,即需要在Xcode工程本身的
plist文件中主动配置以下三项:
Key |
Value |
Privacy - Camera Usage Description |
Use camera |
Privacy - Microphone Usage Description |
Use microphone |
Application uses Wi-Fi |
YES |
配置后效果如下所示:
- 写代码。完整的代码逻辑实现请参见iOS互动课堂学生端标准集成源码。