媒体资源管理器
在 World 构造之后,可以通过 World 的 getMediaManager
方法获取到音视频管理单例模块,对 World 下所有用到的 <video/>
和 <audio/>
进行管理。
预埋音视频的初始化
// 初始化 mediaManager 类
world.getMediaManager({ videoCount: 3, audioCount: 2 })
通过调用 getMediaManager
方法里传入 videoCount
和 audioCount
数量,SDK 可以提前创建出对应数量的媒体标签资源,通过用户进入应用的初始交互行为来提前激活/授权应用运行中需要用到的<video/>
和 <audio/>
标签。
另外若未创建 world 对象,则可以直接使用MediaManager.getInstance({ videoCount: 3, audioCount: 2 })
来初始化
创建视频类型对象
const mediaManager = world.getMediaManager()
const videoInstance = mediaManager.getVideo({
src: 'xxx.mp4',
controls: false,
crossOrigin: true,
preload: 'auto',
playsInline: true,
width: '100px',
height: '100px',
muted: videoDataRef.current[index].mute,
autoPlay: videoDataRef.current[index].autoPlay,
objectFit: 'cover',
})
通过音视频管理器里提供的 getVideo
方法,可以获取到一个 Video
类型的实例对象 videoInstance
,其中该 videoInstance
实例对应的 <video/>
为 sdk 预处理过的标签,业务不再需要做机型的兼容处理
Video
类型基础方法
// 播放视频
videoInstance.play()
// 暂停视频
videoInstance.pause()
// 停止
videoInstance.stop()
// 静音
videoInstance.mute()
// 恢复声音
videoInstance.unmute()
// 销毁视频
videoInstance.remove()
// 获取对象对应video原生标签
videoInstance.getElement()
创建音频类型对象
const mediaManager = world.getMediaManager()
const audioInstance = mediaManager.getAudio({
src: 'xxx.mp3',
muted: false,
autoPlay: true,
})
通过音视频管理器里提供的 getAudio
方法,可以获取到一个 Audio
类型的实例对象 audioInstance
,其中该 audioInstance
实例对应的 <audio/>
为 sdk 预处理过的标签,业务不再需要做机型的兼容处理
Audio
类型基础方法
// 播放
audioInstance.play()
// 暂停
audioInstance.pause()
// 静音
audioInstance.mute()
// 恢复声音
audioInstance.unmute()
// 销毁视频
audioInstance.remove()
// 获取对象对应audio原生标签
audioInstance.getElement()