设置音频属性

更新时间: 2024/03/15 17:25:07

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

功能描述

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

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

注意事项

  • SDK 支持在加入房间通话中后,您根据实际场景变化动态调用 SetAudioProfile 方法。
  • 若您通过 SetChannelProfile 接口设置房间场景为直播模式,即 kNERtcChannelProfileLiveBroadcasting,但未调用 SetAudioProfile 方法设置音频编码属性,或仅设置 profilekNERtcAudioProfileDefault,则 SDK 会自动设置 profilekNERtcAudioProfileHighQuality,且设置 scenariokNERtcAudioScenarioMusic

实现方法

通过 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 下,设备的系统音量使用不同的音量类型。

典型场景的推荐配置

典型场景的音频参数推荐配置请参见音视频参数配置推荐

示例代码

C#IRtcEngine rtcEngine = IRtcEngine.GetInstance();
private void setAudioProfile()
{
    //初始化之后设置音频属性,按需选择必要的属性
    int result = rtcEngine.SetAudioProfile(RtcAudioProfileType.kNERtcAudioProfileHighQualityStereo,RtcAudioScenarioType.kNERtcAudioScenarioMusic);
    if (result != (int)RtcErrorCode.kNERtcNoError)
    {
        //失败
    }
}

API 参考

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