设置音频属性

更新时间: 2024/08/05 15:02:55

NERTC SDK 支持设置音频编码属性设置,本文档为您介绍如何通过 setAudioProfile 方法的 profile 和 scenario 参数实现不同的音质效果。

功能描述

在不同的场景中,用户对于音质、声道、噪声抑制等方面的要求各有不同,例如在音乐直播、在线 KTV 等场景中,需要设置适宜于音乐场景的采样率、码率、流畅度、噪声抑制等参数和能力。NERTC 支持多种音频属性档位设置,适用于不同场景的音质、声道需求,以便您根据实际场景方便快捷地调整音质属性、在常见场景中实现最优的音质效果。

NERTC SDK 通过 setAudioProfile 方法的 profilescenario 参数提供多种音频 Profile 档位和音频场景设置,您可以根据实际场景需求灵活调整音质属性。

注意事项

SDK 支持在加入房间通话中后,您根据实际场景变化动态调用 setAudioProfile 方法。

实现方法

通过 setAudioProfile 设置音频属性。

设置音频模式

profile 参数代表不同的音频参数配置(音质),比如采样率、码率和编码模式,包括:

音频 profile 类型 描述
kNERtcAudioProfileDefault(0) 默认设置。语音场景下为 kNERtcAudioProfileStandard(1),音乐场景下为 kNERtcAudioProfileHighQuality(5)。
kNERtcAudioProfileStandard(1) 标准音质模式。采样率为 16 kHz、语音编码、单声道、编码码率最大值为 20 Kbps。
kNERtcAudioProfileStandardExtend(2) 标准扩展模式。采样率为 16 kHz、语音编码、单声道、编码码率最大值为 32 Kbps。
kNERtcAudioProfileMiddleQuality(3) 中等音质模式。采样率为 48 kHz、音乐编码、单声道、编码码率最大值为 64 Kbps。
kNERtcAudioProfileMiddleQualityStereo(4) 中等音质模式(立体音)。采样率为 48 kHz、音乐编码、双声道、编码码率最大值为 80 Kbps。
kNERtcAudioProfileHighQuality(5) 高音质模式。采样率为 48 kHz、音乐编码、单声道、编码码率最大值为 96 Kbps。
kNERtcAudioProfileHighQualityStereo(6) 高音质模式(立体音)。采样率为 48 kHz、音乐编码、双声道、编码码率最大值为 128 Kbps。

设置音频场景

scenario 参数用于设置音频的使用场景,在不同场景中,声音的流畅度、噪声抑制、音质等会根据不同的场景做出优化。目前支持以下类型的场景:

scenario 场景 描述 音量
kNERtcAudioScenarioDefault(0) 默认的音频应用场景(语音)。 通话音量。
kNERtcAudioScenarioSpeech(1) 语音场景。推荐用于普通的音视频通话场景。 通话音量。
kNERtcAudioScenarioMusic(2) 音乐场景。音乐级别音质设置,高保真、超流畅,推荐用于在线 KTV、在线演唱会、音乐直播、乐器教学等高音质要求的场景。 媒体音量。

不同的 scenario 下,设备的系统音量使用不同的音量类型。

参数搭配推荐

业务场景
profile 设置
scenario 设置
特性
语聊房(音乐场景) kNERtcAudioProfileHighQuality(5) 或 kNERtcAudioProfileHighQualityStereo(6) kNERtcAudioScenarioMusic(2) 音乐级高清音质,人声和背景音乐声音都有丰富的呈现,可搭配音效功能实现更有趣味性的体验。
在线KTV kNERtcAudioProfileHighQualityStereo(6) kNERtcAudioScenarioMusic(2) 高音质立体声,适用于音质要求较高的场景,还可以搭配丰富的音效增加娱乐效果。
互动直播(音乐场景) kNERtcAudioProfileHighQuality(5) 或 kNERtcAudioProfileHighQualityStereo(6) kNERtcAudioScenarioMusic(2) 高清音质。可根据实际直播场景选择单双声道,音乐场景推荐使用 Music。
音乐教学 kNERtcAudioProfileHighQuality(5) kNERtcAudioScenarioMusic(2) 优先保证高清音质,音乐级音频能力。适用于对音质要求较高的场景。
  • 一对一通话
  • 语聊房(无音乐)
  • 互动直播(无音乐)
  • 多人通话/视频会议
  • 小班课/大班课
  • 双师课堂

kNERtcAudioProfileStandard(1)

kNERtcAudioScenarioSpeech(1)

在保证传输流畅的同时,维持高清音质,在弱网环境下优先保证通话稳定、流畅。kNERtcAudioScenarioSpeech(1) 模式下,回声、噪声等环境音过滤效果较好,可以提供更为清晰的人声语音效果。

示例代码

c++engine->setParameters(rtcParameters); //先设置参数
engine->setAudioProfile(audioProfile,audioScenario);//设置音频场景,也可以在加入房间后设置
engine->joinChannel(token, channel_name, uid, kNERtcChannelP2P);

API 参考

方法 功能描述
setAudioProfile 设置音频编码配置,可以在加入房间后设置
enableLocalAudio 开关本地音频采集
muteLocalAudioStream 开关本地音频发送
subscribeRemoteAudioStream 订阅/取消订阅指定音频流
此文档是否对你有帮助?
有帮助
去反馈
  • 功能描述
  • 注意事项
  • 实现方法
  • 设置音频模式
  • 设置音频场景
  • 参数搭配推荐
  • 示例代码
  • API 参考