MediaContext
MediaContext 类。
MediaContext 类提供的方法用于:
- 管理本地音视频设备。
- 播放本地音频。
- 渲染本地视频。
getLocalDevices
获取本地设备。
Kotlin
abstract fun getLocalDevices(deviceType: AgoraEduContextDeviceType): List<AgoraEduContextDeviceInfo>
参数
- deviceType
- 设备类型。详见 AgoraEduContextDeviceType。
返回值
由 AgoraEduContextDeviceInfo 组成的设备列表。
openLocalDevice
开启指定本地设备。
Kotlin
abstract fun openLocalDevice(deviceInfo: AgoraEduContextDeviceInfo,
callback: EduContextCallback<Unit>? = null)
参数
- deviceInfo
- 设备信息,详见 AgoraEduContextDeviceInfo。
- callback
- 通过 EduContextCallback 异步获取调用结果。
closeLocalDevice
关闭本地设备。
Kotlin
abstract fun closeLocalDevice(deviceInfo: AgoraEduContextDeviceInfo,
callback: EduContextCallback<Unit>? = null)
参数
- deviceInfo
- 设备信息,详见 AgoraEduContextDeviceInfo。
- callback
- 通过 EduContextCallback 异步获取调用结果。
getLocalDeviceState
获取本地设备状态。
Kotlin
abstract fun getLocalDeviceState(deviceInfo: AgoraEduContextDeviceInfo,
callback: EduContextCallback<AgoraEduContextDeviceState2>?)
参数
- deviceInfo
- 设备信息,详见 AgoraEduContextDeviceInfo。
- callback
- 通过 EduContextCallback 异步返回设备状态 AgoraEduContextDeviceState2。
startRenderLocalVideo
开始渲染视频流。
Kotlin
abstract fun startRenderLocalVideo(config: EduContextRenderConfig,
container: ViewGroup,
streamUuid: String)
详情
该方法在加入房间前后均可调用。
参数
- config
- 视频渲染配置,详见 EduContextRenderConfig。
- container
- 渲染的 View。
- streamUuid
- 待渲染的流 ID。
startRenderVideoFromCdn
开始渲染 CDN 视频流。
Kotlin
abstract fun startRenderVideoFromCdn(
config: EduContextRenderConfig,
container: ViewGroup,
streamUrl: String, renderVideoListener: (() -> Unit)? = null
)
参数
- config
- 视频渲染配置,详见 EduContextRenderConfig。
- container
- 渲染的 View。
- streamUrl
- CDN 流地址。
stopRenderLocalVideo
stopRenderVideoFromCdn
startAudioMixing
stopAudioMixing
停止混音。
Kotlin
abstract fun stopAudioMixing()
startPlayAudio
开始播放音频流。
Kotlin
abstract fun startPlayAudio(roomUuid: String, streamUuid: String)
参数
- roomUuid
- 房间 ID。
- streamUuid
- 流 ID。
startPlayAudioFromCdn
开始播放 CDN 音频流。
Kotlin
abstract fun startPlayAudioFromCdn(streamUrl: String, startPos: Long? = 0)
参数
- streamUuid
- CDN 流地址。
- startPos
- 开始播放的位置。
stopPlayAudio
停止播放音频流。
Kotlin
abstract fun stopPlayAudio(roomUuid: String, streamUuid: String)
参数
- roomUuid
- 房间 ID。
- streamUuid
- 流 ID。
stopPlayAudioFromCdn
setAudioMixingPosition
设置用于混音的音乐文件的起始播放位置。
Kotlin
abstract fun setAudioMixingPosition(position: Int)
参数
- position
- 音乐文件的起始播放位置(毫秒)。
getSnapshot
视频流截图。
Kotlin
abstract fun getSnapshot(
roomUuid: String,
streamUuid: String,
filePath: String,
callback: EduContextCallback<FcrSnapshotInfo>?
)
详情
从视频流中截图,生成 JPG 文件。每次调用此 API 需间隔至少一秒。
参数
- roomUuid
- 房间 ID。
- streamUuid
- 流 ID
- filePath
- 保存截图的本地绝对路径。需完整写出文件名,例如 xxx/xxx/example.jpg。
- callback
- 调用成功,则返回截图信息 FcrSnapshotInfo。
setAudioRawDataConfig
设置音频管道中每个环节的输出配置。
Kotlin
AgoraEduContextError setAudioRawDataConfig(FcrAudioRawDataConfig config,
FcrAudioRawDataPosition position)
详情
可添加多个观察者,以最后一次设置为准。
参数
- config
- 观察者,详见 FcrAudioRawDataConfig。
- position
- 音频管道的输出位置,详见 FcrAudioRawDataPosition。
addAudioRawDataObserver
注册音频管道某个环节的原始数据监听。
Kotlin
abstract fun addAudioRawDataObserver(
observer: FcrMediaRawDataObserver,
config: FcrAudioRawDataConfig? = FcrAudioRawDataConfig()
)
详情
该方法只能在加入频道前调用。可添加多个观察者。
参数
- observer
- 观察者,详见 FcrAudioRawDataObserver。
- config
- 音频管道的输出配置,详见 FcrAudioRawDataConfig。
removeAudioRawDataObserver
移除音频管道某个环节的原始音频数据监听。
Kotlin
abstract fun removeAudioRawDataObserver(observer: FcrMediaRawDataObserver)
参数
- observer
- 观察者,详见 FcrAudioRawDataObserver。