Public 成员函数 | |
---|---|
virtual | ~IMediaEngine () |
virtual void | release ()=0 |
virtual int | registerAudioFrameObserver (IAudioFrameObserver *observer)=0 |
virtual int | registerVideoFrameObserver (IVideoFrameObserver *observer)=0 |
virtual int | registerVideoRenderFactory (IExternalVideoRenderFactory *factory)=0 |
virtual int | pushAudioFrame (IAudioFrameObserver::AudioFrame *frame)=0 |
virtual int | pullAudioFrame (IAudioFrameObserver::AudioFrame *frame)=0 |
virtual int | setExternalVideoSource (bool enable, bool useTexture)=0 |
virtual int | pushVideoFrame (ExternalVideoFrame *frame)=0 |
构造及析构函数说明
~IMediaEngine
virtual ar::media::IMediaEngine::~IMediaEngine ( )
成员枚举类型说明
release
virtual void ar::media::IMediaEngine::release()
registerAudioFrameObserver
virtual int registerAudioFrameObserver(IAudioFrameObserver* observer)
注册语音观测器对象
该方法用于注册语音观测器对象,即注册回调。当需要引擎给出 onRecordAudioFrame 或 onPlaybackAudioFrame 回调时,需要使用该方法注册回调。
参数
参数 | 描述 |
---|---|
observer | 接口对象实例。如果传入 NULL,则取消注册。详见 IAudioFrameObserver |
registerVideoFrameObserver
virtual int registerVideoFrameObserver(IVideoFrameObserver* observer)
注册视频观测器对象
你需要在该方法中实现一个 IVideoFrameObserver 类,并根据场景需要,注册该类的回调。 成功注册视频观测器后,SDK 会在捕捉到每个视频帧时,触发你所注册的上述回调。
参数
参数 | 描述 |
---|---|
observer | 接口对象实例。如果传入 NULL,则取消注册。详见 IVideoFrameObserver |
registerVideoRenderFactory
virtual int registerVideoRenderFactory(IExternalVideoRenderFactory* factory)
pushAudioFrame
virtual int pushAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0;
推送外部音频帧
参数
参数 | 描述 |
---|---|
frame | 音频帧指针。详见: AudioFrame |
返回值
- 0:方法调用成功
- < 0:方法调用失败
pullAudioFrame
virtual int pullAudioFrame(IAudioFrameObserver::AudioFrame* frame)
拉取远端音频数据
使用该方法前,你需要调用 setExternalAudioSink(enabled: true) 方法通知 App 开启并设置外部渲染。 调用该方法后,App会采取主动拉取的方式获取远端已解码和混音后的音频数据,用于音频播放。
参数
参数 | 描述 |
---|---|
frame | 指向 AudioFrame 的指针。 |
返回值
- 0:方法调用成功
- < 0:方法调用失败
注意事项:
- 使用该方法后,App 会无法从 onPlaybackAudioFrame 回调中获得数据。
- 该方法和 onPlaybackAudioFrame 回调相比,区别在于:
- onPlaybackAudioFrame:SDK 通过该回调将音频数据传输给 app。如果 app 处理延时,可能会导致音频播放抖动。 如果 App 处理延时,可能会导致音频播放抖动。
- pullAudioFrame:App 主动拉取音频数据。通过设置音频数据, SDK 可以调整缓存,帮助 App 处理延时,从而有效避免音频播放抖动。
setExternalVideoSource
virtual int setExternalVideoSource(bool enable, bool useTexture)
配置外部视频源
参数
参数 | 描述 |
---|---|
enable | 是否使用外部视频源: |
useTexture | 是否使用 Texture 作为输入: |
返回值
- 0:方法调用成功
- < 0:方法调用失败
pushVideoFrame
virtual int pushVideoFrame(ExternalVideoFrame *frame)
ExternalVideoFrame 将视频帧数据传递给 AR SDK
使用参数
参数 | 描述 |
---|---|
frame | 待传输的视频帧。详见 ExternalVideoFrame |
返回值
- 0:方法调用成功
- < 0:方法调用失败
注意事项:
- 通信场景下,不支持 Texture 格式的视频帧,只支持非 Texture 格式的视频帧