IVideoSource

最近更新时间:2022-09-20 05:17:40

Public 成员函数
booleanonInitialize (IVideoFrameConsumer consumer)
booleanonStart ()
voidonStop ()
voidonDispose ()
intgetBufferType ()

详细描述

IVideoSource 接口

实时通讯过程中,AR SDK 通常会启动默认的视频输入设备,即内置的摄像头,进行视频推流。使用 IVideoSource 接口可以自定义视频源。通过调用 setVideoSource 接口,可以改变并控制默认的视频输入设备,再将自定义的视频源发送给 AR Media Engine,让 Media Engine 进行其它视频处理,如过滤视频、将视频发布到 RTC 链接等。

成员函数说明

onInitialize()

boolean onInitialize(IVideoFrameConsumer consumer)

初始化视频源。

Media Engine 在初始化视频源的时候会回调此方法。开发者可以在这个方法中做一些准备工作,例如打开 Camera,或者初始化视频源,并通过输入 true 或 false,以告知 Media Engine 自定义的视频源是否已经准备好。

自定义视频源时,开发者需要通过 getBufferType 来指定一种 Buffer 类型,并在自定义视频源中只使用与其对应的方法来传递视频帧数据。

  • 参数

    consumerMedia Engine 传递给开发者的一个 IVideoFrameConsumer 对象。开发者需要保存该对象,并在视频源启动后,通过这个对象把视频帧输入给 Media Engine。详细定义见 IVideoFrameConsumer

  • 返回

    true:自定义的视频源已经完成了初始化工作false:自定义的视频源设备没准备好或者初始化失败,Media Engine 会停下来并上报错误

onStart()

boolean onStart()

启动视频源。

Media Engine 在启动视频源时会回调这个方法。开发者可以在该方法中启动视频帧捕捉。开发者需要输入 true 或 false,以告知 Media Engine 自定义的视频源是否开启成功。

  • 返回

    true:自定义的视频源已成功开启,接下来会打开 IVideoFrameConsumer 的开关,接收开发者传输的视频帧false:自定义的视频源设备启动失败,Media Engine 会停下来并上报错误

onStop()

void onStop()

停止视频源。

Media Engine 在停止视频源的时候会回调这个方法。开发者可以在这个方法中停止视频的采集。Media Engine 通过这个回调通知开发者,IVideoFrameConsumer 的帧输入开关即将关闭,之后输入的视频帧都会被丢弃。

onDispose()

void onDispose()

释放视频源。

Media Engine 通知开发者视频源即将失效,开发者可以在这个方法中关闭视频源设备。引擎会销毁 IVideoFrameConsumer 对象,开发者需要确保在此回调之后不再使用它。

getBufferType()

int getBufferType()

获取 Buffer 类型。

Media Engine 在初始化的时候,会调用这个方法来查询该视频源所使用的 Buffer 类型。开发者必须指定且只能指定一种 Buffer 类型并通过返回值告诉 Media Engine。

返回

Video buffer type