音视频前处理
本章节主要介绍网易云信提供的各种音视频前处理功能。前处理介于采集和编码之间,按照数据类型分类,可以分为音频前处理和视频前处理,音频前处理包括降噪、回音消除、人声检测、自动增益等等,视频前处理包括美颜、磨皮、设置对比度、镜像、水印等。目前网易云信Cocos SDK只支持音频前处理,提供音频采集数据的回调功能,开发者可以利用音频采集数据的回调功能,实现自定义的音视频数据前处理,包括接入第三方变声等。
音频前处理
监听音频数据
API介绍
监听音频数据,此接口Cocos Window PC平台有效(可以不监听,通过启动设备kNIMDeviceTypeAudioOut和kNIMDeviceTypeAudioOutChat由底层播放)
API原型
static void SetAudioDataCb(bool capture, nim_vchat_audio_data_cb_func cb);
File: nim_cpp_vchat.h
参数说明
参数 | 类型 | 说明 |
---|---|---|
capture | bool | true表示监听麦克风采集数据,false表示监听通话中对方音频数据。 |
cb | function | 结果回调,见nim_device_def.h。 |
示例
void demo_test_nim_vchat_set_audio_data_cb()
{
auto capture_audio_data_cb = [](std::uint64_t time, const char *data, std::uint32_t size, const char *json_extension, const void *user_data)
{
};
auto receive_audio_data_cb = [](std::uint64_t time, const char *data, std::uint32_t size, const char *json_extension, const void *user_data)
{
};
//设置数据回调
nim::VChat::SetAudioDataCb(false, receive_audio_data_cb);
nim::VChat::SetAudioDataCb(true, capture_audio_data_cb);
}
特殊说明
设置的回调函数是异步回调,此接口Cocos Window PC平台有效
同步监听音频数据
API介绍
同步监听音频数据
API原型
static void SetAudioDataSyncCb(nim_vchat_audio_data_sync_cb_func cb);
File: nim_cpp_vchat.h
参数说明
参数 | 类型 | 说明 |
---|---|---|
cb | function | 结果回调,数据同步返回.见nim_device_def.h。 |
示例
std::uint64_t AudioDataSyncCb(const std::int16_t* data, std::uint64_t size, double sample_rate, const void* user_data)
{
}
void demo_test_nim_vchat_set_audio_data_cb()
{
nim::VChat::SetAudioDataSyncCb(AudioDataSyncCb);
}
特殊说明
设置的回调函数是同步回调,此接口Cocos Android,ios平台有效
本篇文档内容是否对您有帮助?
有帮助
我要吐槽
此文档对你是否有帮助
×
有帮助
我要吐槽
×