MediaContext
MediaContext
类。
MediaContext
类提供的方法用于:
-
管理本地音视频设备。
-
播放本地音频。
-
渲染本地视频。
getLocalDevices
获取本地设备。
abstract fun getLocalDevices(deviceType: AgoraEduContextDeviceType): List<AgoraEduContextDeviceInfo>
参数
参数名 | 描述 |
---|---|
deviceType | 设备类型。详见 |
返回值
由 AgoraEduContextDeviceInfo
组成的设备列表。
openLocalDevice
开启指定本地设备。
abstract fun openLocalDevice(deviceInfo: AgoraEduContextDeviceInfo,
callback: EduContextCallback<Unit>? = null)
参数
参数名 | 描述 |
---|---|
deviceInfo | 设备信息,详见 |
callback | 通过 |
closeLocalDevice
关闭本地设备。
abstract fun closeLocalDevice(deviceInfo: AgoraEduContextDeviceInfo,
callback: EduContextCallback<Unit>? = null)
参数
参数名 | 描述 |
---|---|
deviceInfo | 设备信息,详见 |
callback | 通过 |
getLocalDeviceState
获取本地设备状态。
abstract fun getLocalDeviceState(deviceInfo: AgoraEduContextDeviceInfo,
callback: EduContextCallback<AgoraEduContextDeviceState2>?)
参数
参数名 | 描述 |
---|---|
deviceInfo | 设备信息,详见 |
callback | 通过 |
startRenderLocalVideo
开始渲染视频流。
abstract fun startRenderLocalVideo(config: EduContextRenderConfig,
container: ViewGroup,
streamUuid: String)
该方法在加入房间前后均可调用。
参数
参数名 | 描述 |
---|---|
config | 视频渲染配置,详见 |
container | 渲染的 View。 |
streamUuid | 待渲染的流 ID。 |
startRenderVideoFromCdn
开始渲染 CDN 视频流。
abstract fun startRenderVideoFromCdn(
config: EduContextRenderConfig,
container: ViewGroup,
streamUrl: String, renderVideoListener: (() -> Unit)? = null
)
参数
参数名 | 描述 |
---|---|
config | 视频渲染配置,详见 |
container | 渲染的 View。 |
streamUrl | CDN 流地址。 |
stopRenderLocalVideo
停止渲染视频流。
abstract fun stopRenderLocalVideo(streamUuid: String)
该方法在加入房间前后均可调用。
参数
参数名 | 描述 |
---|---|
streamUuid | 流 ID。如果你想要在加入房间前停止预览摄像头采集的视频流,可将 |
stopRenderVideoFromCdn
startAudioMixing
开始混音。
abstract fun startAudioMixing(filepath: String,
loopback: Boolean,
replace: Boolean,
cycle: Int)
将麦克风采集的音频流与本地客户端的音乐文件中的音频混合,以便远端用户能更为清晰地听到该音乐文件。
参数
参数名 | 描述 |
---|---|
filePath | 需要进行混音的音乐文件路径。 |
loopback | 是否只在本地客户端播放音乐文件。 |
replace | 是否将麦克风采集的音频替换为音乐文件。 |
cycle | 音乐文件的播放次数。设为 -1 表示循环播放。 |
stopAudioMixing
停止混音。
abstract fun stopAudioMixing()
startPlayAudio
开始播放音频流。
abstract fun startPlayAudio(roomUuid: String, streamUuid: String)
参数
参数名 | 描述 |
---|---|
roomUuid | 房间 ID。 |
streamUuid | 流 ID。 |
startPlayAudioFromCdn
开始播放 CDN 音频流。
abstract fun startPlayAudioFromCdn(streamUrl: String, startPos: Long? = 0)
参数
参数名 | 描述 |
---|---|
streamUuid | CDN 流地址。 |
startPos | 开始播放的位置。 |
stopPlayAudio
停止播放音频流。
abstract fun stopPlayAudio(roomUuid: String, streamUuid: String)
参数
参数名 | 描述 |
---|---|
roomUuid | 房间 ID。 |
streamUuid | 流 ID。 |
stopPlayAudioFromCdn
setAudioMixingPosition
设置用于混音的音乐文件的起始播放位置。
abstract fun setAudioMixingPosition(position: Int)
参数
参数名 | 描述 |
---|---|
position | 音乐文件的起始播放位置(毫秒)。 |
getSnapshot
视频流截图。
abstract fun getSnapshot(
roomUuid: String,
streamUuid: String,
filePath: String,
callback: EduContextCallback<FcrSnapshotInfo>?
)
从视频流中截图,生成 JPG 文件。每次调用此 API 需间隔至少一秒。
参数
参数名 | 描述 |
---|---|
roomUuid | 房间 ID。 |
streamUuid | 流 ID |
filePath | 保存截图的本地绝对路径。需完整写出文件名,例如 xxx/xxx/example.jpg。 |
callback | 调用成功,则返回截图信息 |
addAudioRawDataObserver
注册音频管道某个环节的原始数据监听。
abstract fun addAudioRawDataObserver(
observer: FcrMediaRawDataObserver,
config: FcrAudioRawDataConfig? = FcrAudioRawDataConfig()
)
参数
参数名 | 描述 |
---|---|
observer | 观察者,详见 |
config | 音频管道的输出配置,详见 |
removeAudioRawDataObserver
移除音频管道某个环节的原始音频数据监听。
abstract fun removeAudioRawDataObserver(observer: FcrMediaRawDataObserver)
参数
参数名 | 描述 |
---|---|
observer | 观察者,详见 |