MediaContext
MediaContext 类。
MediaContext 类提供的方法用于:
- 管理本地音视频设备。
- 播放本地音频。
- 渲染本地视频。
getLocalDevices
获取本地设备。
abstract fun getLocalDevices(deviceType: AgoraEduContextDeviceType): List<AgoraEduContextDeviceInfo>
参数
- deviceType
- 设备类型。详见 AgoraEduContextDeviceType。
返回值
由 AgoraEduContextDeviceInfo 组成的设备列表。
openLocalDevice
开启指定本地设备。
abstract fun openLocalDevice(deviceInfo: AgoraEduContextDeviceInfo, callback: EduContextCallback<Unit>? = null)
参数
- deviceInfo
- 设备信息,详见 AgoraEduContextDeviceInfo。
- callback
- 通过 EduContextCallback 异步获取调用结果。
closeLocalDevice
关闭本地设备。
abstract fun closeLocalDevice(deviceInfo: AgoraEduContextDeviceInfo, callback: EduContextCallback<Unit>? = null)
参数
- deviceInfo
- 设备信息,详见 AgoraEduContextDeviceInfo。
- callback
- 通过 EduContextCallback 异步获取调用结果。
getLocalDeviceState
获取本地设备状态。
abstract fun getLocalDeviceState(deviceInfo: AgoraEduContextDeviceInfo, callback: EduContextCallback<AgoraEduContextDeviceState2>?)
参数
- deviceInfo
- 设备信息,详见 AgoraEduContextDeviceInfo。
- callback
- 通过 EduContextCallback 异步返回设备状态 AgoraEduContextDeviceState2。
startRenderLocalVideo
开始渲染视频流。
abstract fun startRenderLocalVideo(config: EduContextRenderConfig, container: ViewGroup, streamUuid: String)
参数
- config
- 视频渲染配置,详见 EduContextRenderConfig。
- container
- 渲染的 View。
- streamUuid
- 待渲染的流 ID。
stopRenderLocalVideo
停止渲染视频流。
abstract fun stopRenderLocalVideo(streamUuid: String)
参数
- streamUuid
- 流 ID。如果你想要在加入房间前停止预览摄像头采集的视频流,可将 streamUuid 设为 0。
startAudioMixing
开始混音。
abstract fun startAudioMixing(filepath: String, loopback: Boolean, replace: Boolean, cycle: Int)
将麦克风采集的音频流与本地客户端的音乐文件中的音频混合,以便远端用户能更为清晰地听到该音乐文件。
参数
- filePath
- 需要进行混音的音乐文件路径。
- loopback
- 是否只在本地客户端播放音乐文件。
- replace
- 是否将麦克风采集的音频替换为音乐文件。
- cycle
- 音乐文件的播放次数。设为 -1 表示循环播放。
stopAudioMixing
停止混音。
abstract fun stopAudioMixing()
setAudioMixingPosition
设置用于混音的音乐文件的起始播放位置。
abstract fun setAudioMixingPosition(position: Int)
参数
- position
- 音乐文件的起始播放位置(毫秒)。