#include <JCMediaDevice.h>
|
virtual JCMediaDeviceVideoCanvas * | startCameraVideo (void *view, JCMediaDeviceRenderMode mode)=0 |
|
virtual JCMediaDeviceVideoCanvas * | startVideo (void *view, const char *videoSource, JCMediaDeviceRenderMode mode)=0 |
|
virtual void | stopVideo (JCMediaDeviceVideoCanvas *canvas)=0 |
|
virtual bool | startAudio ()=0 |
|
virtual bool | stopAudio ()=0 |
|
virtual bool | startCamera ()=0 |
|
virtual bool | stopCamera ()=0 |
|
virtual bool | switchCamera (JCMediaDeviceCamera camera)=0 |
|
virtual void | setCameraProperty (int width, int height, int framerate)=0 |
|
virtual void | setScreenCaptureProperty (int width, int height, int framerate)=0 |
|
virtual bool | startVideoFile ()=0 |
|
virtual void | setVideoFileFrame (BYTE *srcFrame, JCMediaDeviceVideoPixelFormat format, int width, int height)=0 |
|
virtual bool | stopVideoFile ()=0 |
|
virtual const char * | getVideoFileId ()=0 |
|
virtual bool | isCameraOpen ()=0 |
|
virtual bool | isVideoFileOpen ()=0 |
|
virtual JCMediaDeviceCamera | getCamera ()=0 |
|
virtual std::list< JCMediaDeviceCamera > * | getCameras ()=0 |
|
virtual std::list< JCMediaDeviceAudio > * | getAudioInputs ()=0 |
|
virtual std::list< JCMediaDeviceAudio > * | getAudioOutputs ()=0 |
|
virtual std::list< JCMediaDeviceWindow > * | getWindows ()=0 |
|
virtual std::list< JCMediaDeviceWindow > * | getDesktops ()=0 |
|
virtual bool | isAudioStart ()=0 |
|
virtual JCMediaDeviceAudioParam * | getAudioParam ()=0 |
|
virtual void | setAudioParam (JCMediaDeviceAudioParam *param)=0 |
|
virtual void | setAudioFrameCallback (JCAudioFrameCallback *callback)=0 |
|
virtual void | setVideoFrameCallback (JCVideoFrameCallback *callback)=0 |
|
virtual bool | inputCustomAudioData (int sampleRateHz, int channels, unsigned char *byteBuffer, int len, int playDelayMS, int recDelayMS, int clockDrift)=0 |
|
virtual bool | getAudioOutputData (int sampleRateHz, int channels, unsigned char *byteBuffer, int len)=0 |
|
virtual int | getOutputVolume ()=0 |
|
virtual int | getInputVolume ()=0 |
|
◆ getAudioInputs()
◆ getAudioOutputData()
virtual bool JCMediaDevice::getAudioOutputData |
( |
int |
sampleRateHz, |
|
|
int |
channels, |
|
|
unsigned char * |
byteBuffer, |
|
|
int |
len |
|
) |
| |
|
pure virtual |
获取音频输出数据
当 autoStartAudioOutputDevice 为 false 时才可以获取到音频输出数据。 建议在一对一通话状态为连接中时或者加入频道成功后,在子线程不断的调用此方法获取音频输出数据
- 参数
-
sampleRateHz | 输出源的采集频率,取值范围:8000,16000,32000,44100,48000 |
channels | 输出源的采样通道数,取值范围:1或2 |
byteBuffer | 字节缓冲区,从媒体层获取的音频输出数据将被存入此缓冲区,需要传入 DirectByteBuffer 对象。缓冲区的容量为(采样频率*采样通道数/100) |
len | 缓冲区数据长度 |
- 返回
- 是否正常调用
- true: 正常执行调用流程
- false: 调用失败
◆ getAudioOutputs()
◆ getAudioParam()
◆ getCamera()
◆ getCameras()
◆ getDesktops()
◆ getInputVolume()
virtual int JCMediaDevice::getInputVolume |
( |
| ) |
|
|
pure virtual |
获取音频采集音量
- 返回
- 音频采集音量,范围从小到大是(0,100)
◆ getOutputVolume()
virtual int JCMediaDevice::getOutputVolume |
( |
| ) |
|
|
pure virtual |
获取音频播放音量
- 返回
- 音频播放音量,范围从小到大是(0,80)
◆ getVideoFileId()
virtual const char * JCMediaDevice::getVideoFileId |
( |
| ) |
|
|
pure virtual |
◆ getWindows()
◆ inputCustomAudioData()
virtual bool JCMediaDevice::inputCustomAudioData |
( |
int |
sampleRateHz, |
|
|
int |
channels, |
|
|
unsigned char * |
byteBuffer, |
|
|
int |
len, |
|
|
int |
playDelayMS, |
|
|
int |
recDelayMS, |
|
|
int |
clockDrift |
|
) |
| |
|
pure virtual |
将音频输入数据输入到媒体层
当 autoStartAudioInputDevice 为 false 时才可以将音频输入数据输入到媒体层。 建议在一对一通话状态为连接中时或者加入频道成功后,在子线程不断的调用此方法传入音频数据
- 参数
-
sampleRateHz | 外部输入源的采样频率,取值范围:8000,16000,32000,44100,48000 |
channels | 外部输入源的采样通道数,取值范围:1或2 |
byteBuffer | 外部采集数据 |
len | 外部采集数据长度 |
playDelayMS | 播放延时 一般设为0 |
recDelayMS | 采集延时 一般设为0 |
clockDrift | 时钟漂移 一般设为0 |
- 返回
- 是否正常调用
- true: 正常执行调用流程
- false: 调用失败
◆ isAudioStart()
virtual bool JCMediaDevice::isAudioStart |
( |
| ) |
|
|
pure virtual |
◆ isCameraOpen()
virtual bool JCMediaDevice::isCameraOpen |
( |
| ) |
|
|
pure virtual |
◆ isVideoFileOpen()
virtual bool JCMediaDevice::isVideoFileOpen |
( |
| ) |
|
|
pure virtual |
◆ setAudioFrameCallback()
◆ setAudioParam()
◆ setCameraProperty()
virtual void JCMediaDevice::setCameraProperty |
( |
int |
width, |
|
|
int |
height, |
|
|
int |
framerate |
|
) |
| |
|
pure virtual |
◆ setScreenCaptureProperty()
virtual void JCMediaDevice::setScreenCaptureProperty |
( |
int |
width, |
|
|
int |
height, |
|
|
int |
framerate |
|
) |
| |
|
pure virtual |
◆ setVideoFileFrame()
逐帧采集视频画面
调用此方法时要保证文件视频源已开启
- 参数
-
data | 画面二进制数据 |
format | 视频像素格式 |
width | 宽 |
height | 高 |
◆ setVideoFrameCallback()
◆ startAudio()
virtual bool JCMediaDevice::startAudio |
( |
| ) |
|
|
pure virtual |
启动音频
在通话连接中或者加入频道成功时,内部会自动调用此方法来启动音频
- 返回
- 调用是否成功
◆ startCamera()
virtual bool JCMediaDevice::startCamera |
( |
| ) |
|
|
pure virtual |
开启摄像头
- 返回
- 调用是否成功
- true:正常执行调用流程,存在以下两种场景:
- false:调用失败,不会收到通知
◆ startCameraVideo()
◆ startVideo()
◆ startVideoFile()
virtual bool JCMediaDevice::startVideoFile |
( |
| ) |
|
|
pure virtual |
开启视频文件作为视频输入源
- 注解
- 加入会议前或者一对一通话接听前调用
- 文件和摄像头作为视频输入源只能存在一种,如果当前摄像头已开启的话会关闭摄像头
- 返回
- 调用是否成功,存在以下两种场景:
- true:正常执行调用流程
- false:调用失败,不会收到回调
◆ stopAudio()
virtual bool JCMediaDevice::stopAudio |
( |
| ) |
|
|
pure virtual |
停止音频
在通话挂断时或者离开频道时,内部会自动调用此方法来停止音频
- 返回
- 调用是否成功
◆ stopCamera()
virtual bool JCMediaDevice::stopCamera |
( |
| ) |
|
|
pure virtual |
关闭摄像头
- 返回
- 调用是否成功
- true:正常执行调用流程,存在以下两种场景:
- false:调用失败
◆ stopVideo()
◆ stopVideoFile()
virtual bool JCMediaDevice::stopVideoFile |
( |
| ) |
|
|
pure virtual |
关闭逐帧采集画面
- 返回
- 调用是否成功
- true:正常执行调用流程,存在以下两种场景:
- false:调用失败,不会收到回调
◆ switchCamera()
切换摄像头
调用此方法时需要保证摄像头已打开并且摄像头数大于0,否则将直接返回 false
- 参数
-
- 返回
- 调用是否成功
- true:正常执行调用流程
- false:调用失败,不会收到回调
◆ audioIntput
◆ audioOutput
◆ defaultCamera
◆ screenshareWindow
该类的文档由以下文件生成: