不同的 app 需要设置不同的音频编码属性或应用场景。本文介绍如何使用 Agora RTC SDK 在你的 app 中设置合适的音频编码属性和应用场景。
技术原理
SDK 默认使用 AUDIO_PROFILE_DEFAULT 编码属性和 AUDIO_SCENARIO_DEFAULT 应用场景。如果默认设置无法满足你的需求音频应用,调用如下 API 设置音频编码属性和应用场景。
API描述
Initialize(RtcEngineContext context)
在创建 IRtcEngine 实例时,设置音频应用场景。默认值为 AUDIO_SCENARIO_DEFAULT。
SetAudioProfile(profile)
在加入频道前后均可设置音频编码属性。
SetAudioScenario(scenario)
在加入频道前后均可设应用场景。
前提条件
在实现设置音频编码属性和应用场景前,请确保已在你的项目中实现基本的实时音视频功能。详见开始视频通话或开始互动直播。
实现方法
本节介绍如何为常见应用设置音频编码属性和应用场景。你可以将如下示例代码添加至你的项目中。
1 对 1 互动教学
1 对 1 互动教学主要要求保证通话质量、传输流畅。在你的项目中添加如下代码:
// 在初始化 IRtcEngine 实例时,设置音频应用场景
RtcEngineContext context = new RtcEngineContext();
context.audioScenario = AUDIO_SCENARIO_TYPE.AUDIO_SCENARIO_DEFAULT
RtcEngine.Initialize(context);
// 设置音频编码属性
RtcEngine.SetAudioProfile(AUDIO_PROFILE_TYPE.AUDIO_PROFILE_DEFAULT);
KTV
KTV 主要要求高音质、对音乐和歌声的表现力好。在你的项目中添加如下代码:
// 在初始化 IRtcEngine 实例时,设置音频应用场景
RtcEngineContext context = new RtcEngineContext();
context.audioScenario = AUDIO_SCENARIO_TYPE.AUDIO_SCENARIO_GAME_STREAMING
RtcEngine.Initialize(context);
// 设置音频编码属性
RtcEngine.SetAudioProfile(AUDIO_PROFILE_TYPE.AUDIO_PROFILE_MUSIC_HIGH_QUALITY);
语音电台
语音电台一般会使用专业的音频设备,主要要求高音质和立体声。在你的项目中添加如下代码:
// 在初始化 IRtcEngine 实例时,设置音频应用场景
RtcEngineContext context = new RtcEngineContext();
context.audioScenario = AUDIO_SCENARIO_TYPE.AUDIO_SCENARIO_GAME_STREAMING
RtcEngine.Initialize(context);
// 设置音频编码属性
RtcEngine.SetAudioProfile(AUDIO_PROFILE_TYPE.AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO);
音乐教学
该场景主要要求高音质,支持将扬声器播放的音效传输到远端。Agora 推荐如下设置:
// 在初始化 IRtcEngine 实例时,设置音频应用场景
RtcEngineContext context = new RtcEngineContext();
context.audioScenario = AUDIO_SCENARIO_TYPE.AUDIO_SCENARIO_GAME_STREAMING
RtcEngine.Initialize(context);
// 设置音频编码属性
RtcEngine.SetAudioProfile(AUDIO_PROFILE_TYPE.AUDIO_PROFILE_MUSIC_STANDARD_STEREO);
相关文档
本节提供在实现设置音频编码属性和应用场景时可能需要的文档。
API 参考
(编辑:武汉站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|