Public 成员函数 | |
boolean | onInitialize (IVideoFrameConsumer consumer) |
boolean | onStart () |
void | onStop () |
void | onDispose () |
int | getBufferType () |
IVideoSource 接口
实时通讯过程中,Agora SDK 通常会启动默认的视频输入设备,即内置的摄像头,进行视频推流。使用 IVideoSource 接口可以自定义视频源。通过调用 setVideoSource 接口,可以改变并控制默认的视频输入设备,再将自定义的视频源发送给 Agora Media Engine,让 Media Engine 进行其它视频处理,如过滤视频、将视频发布到 RTC 链接等。
int io.agora.rtc.mediaio.IVideoSource.getBufferType | ( | ) |
获取 Buffer 类型。
Media Engine 在初始化的时候,会调用这个方法来查询该视频源所使用的 Buffer 类型。开发者必须指定且只能指定一种 Buffer 类型并通过返回值告诉 Media Engine。
void io.agora.rtc.mediaio.IVideoSource.onDispose | ( | ) |
释放视频源。
Media Engine 通知开发者视频源即将失效,开发者可以在这个方法中关闭视频源设备。引擎会销毁 IVideoFrameConsumer 对象,开发者需要确保在此回调之后不再使用它。
boolean io.agora.rtc.mediaio.IVideoSource.onInitialize | ( | IVideoFrameConsumer | consumer | ) |
初始化视频源。
Media Engine 在初始化视频源的时候会回调此方法。开发者可以在这个方法中做一些准备工作,例如打开 Camera,或者初始化视频源,并通过输入 true 或 false,以告知 Media Engine 自定义的视频源是否已经准备好。
自定义视频源时,开发者需要通过 getBufferType 来指定一种 Buffer 类型,并在自定义视频源中只使用与其对应的方法来传递视频帧数据。
consumer | Media Engine 传递给开发者的一个 IVideoFrameConsumer 对象。开发者需要保存该对象,并在视频源启动后,通过这个对象把视频帧输入给 Media Engine。详细定义见 IVideoFrameConsumer. |
boolean io.agora.rtc.mediaio.IVideoSource.onStart | ( | ) |
启动视频源。
Media Engine 在启动视频源时会回调这个方法。开发者可以在该方法中启动视频帧捕捉。开发者需要输入 true 或 false,以告知 Media Engine 自定义的视频源是否开启成功。
void io.agora.rtc.mediaio.IVideoSource.onStop | ( | ) |
停止视频源。
Media Engine 在停止视频源的时候会回调这个方法。开发者可以在这个方法中停止视频的采集。Media Engine 通过这个回调通知开发者,IVideoFrameConsumer 的帧输入开关即将关闭,之后输入的视频帧都会被丢弃。