设置音频属性

更新时间: 2023/01/10 01:53:15

NERoom SDK 默认使用标准音质模式语音场景。不同应用场景,对于音质、声道、噪声抑制等方面的要求各有不同,您可以根据 App 的场景,通过 setAudioProfile 设置音频属性,实现最优的音质效果。

功能描述

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

通过 setAudioProfile 方法的 profilescenario 参数,配置音频 Profile 档位和音频场景。

注意事项

  • 在初始化 NERoom 后,加入房间前或加入房间后,均可调用setAudioProfile 接口。您可以根据实际场景变化,动态调用该接口。

  • setChannelProfile 接口,只能在加入房间前调用,加入房间后,无法再设置房间场景。

  • 若您通过setChannelProfile 接口设置房间场景为直播模式,但未调用 setAudioProfile 接口设置音频编码属性,或仅设置 profileDEFAULT,则 SDK 会自动设置 profileHIGH_QUALITYscenario MUSIC

设置房间的场景模式

加入房间前,调用 NERoom 的 setChannelProfile 接口,根据业务场景,设置场景模式。支持通信模式(communication)和直播模式(liveBroadcasting)。默认为通信模式。

  • 在语音通话场景下,建议您选择通信模式,保证低延时、高流畅的通话体验。
  • 在互动直播场景下,建议您选择直播模式,为用户提供高清晰、高质量的直播画面效果。该场景中,分为主播和观众两种用户角色,您可以通过setClientRole设置用户角色。

设置音频属性

通过 setAudioProfile 设置音频属性。

设置音频模式

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

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

设置音频场景

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

scenario 场景 描述 音质
DEFAULT(0) 默认的音频应用场景(默认为语音场景)。 DEFAULT
SPEECH(1) 语音场景。推荐用于普通的音视频通话场景。 推荐使用 MIDDLE_QUALITY 及以下音质。
MUSIC(2) 音乐场景。音乐级别音质设置,高保真、超流畅,推荐用于在线 KTV、在线演唱会、音乐直播、乐器教学等高音质要求的场景。 推荐使用 MIDDLE_QUALITY_STEREO 及以上音质。
CHATROOM(3) 语聊房场景。优先保障音频连续性与稳定性,适用于用户需要频繁上下麦的场景。仅移动端支持。 推荐 HIGH_QUALITY 及以上音质。

示例代码

在线 K 歌场景为例,该场景要求具备高音质立体声,推荐配置如下:

    roomContext.rtcController.setAudioProfile(
        NERoomRtcAudioProfile.HIGH_QUALITY_STEREO,
        NERoomRtcAudioScenario.MUSIC
    )

典型场景推荐配置

在语聊房、在线 K 歌、1 对 1 音视频通话、多人音视频通话、互动直播等典型场景下,云信推荐使用的音频参数配置如下表示所示。

业务场景
profile 设置
scenario 设置
ChannelProfile 设置
推荐原因
游戏开黑 HIGH_QUALITY(5) chatRoom 直播模式 在保证高音质的同时节省流量,频繁上下麦时不卡顿。
连麦时保留人声、减少杂音,适用于游戏语音场景。
语聊房(主播唱歌或播放伴音的场景) HIGH_QUALITY(5) 或 HIGH_QUALITY_STEREO(6) MUSIC(2) 直播模式 音乐级高清音质,人声和背景音乐声音都有丰富的呈现,可搭配音效功能实现更有趣味性的体验。
语聊房(纯语音聊天场景) STANDARD(1) SPEECH(1) 直播模式 在网络环境不够稳定的情况下,低码率可以保证语音通话的基本需求,且人声清晰。
在线KTV HIGH_QUALITY_STEREO(6) MUSIC(2) 直播模式 高音质立体声,适用于音质要求较高的场景,还可以搭配丰富的音效增加娱乐效果。
互动直播 HIGH_QUALITY(5) 或 HIGH_QUALITY_STEREO(6) MUSIC(2)或CHATROOM(3) 直播模式 高清音质。可根据实际直播场景选择单双声道,音乐场景推荐使用MUSIC。
音乐教学 HIGH_QUALITY(5) MUSIC(2) 通信模式 优先保证高清音质,音乐级音频能力。适用于对音质要求较高的场景。
  • 一对一通话
  • 多人通话/视频会议
  • 小班课/大班课
  • 双师课堂

STANDARD(1)

SPEECH(1)

通信模式

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

API 参考

方法 功能描述
setAudioProfile 设置音频编码配置,可以在加入房间后设置
setChannelProfile 设置房间场景
此文档是否对你有帮助?
有帮助
去反馈
  • 功能描述
  • 注意事项
  • 设置房间的场景模式
  • 设置音频属性
  • 设置音频模式
  • 设置音频场景
  • 示例代码
  • 典型场景推荐配置
  • API 参考