HarmonyOS 音频通话开发指导

常用的音频通话模式包括 VOIP 通话和蜂窝通话。

● VOIP 通话:VOIP(Voice over Internet Protocol)通话是指基于互联网协议(IP)进行通讯的一种语音通话技术。VOIP 通话会将通话信息打包成数据包,通过网络进行传输,因此 VOIP 通话对网络要求较高,通话质量与网络连接速度紧密相关。

● 蜂窝通话(仅对系统应用开放)蜂窝通话是指传统的电话功能,由运营商提供服务,目前仅对系统应用开放,未向三方应用提供开发接口。

在开发音频通话相关功能时,开发者可以根据实际情况,检查当前的音频场景模式铃声模式,以使用相应的音频处理策略。

音频场景模式

应用使用音频通话相关功能时,系统会切换至与通话相关的音频场景模式(AudioScene),当前预置了多种音频场景,包括响铃、通话、语音聊天等,在不同的场景下,系统会采用不同的策略来处理音频。

当前预置的音频场景:

● AUDIO_SCENE_DEFAULT:默认音频场景,音频通话之外的场景均可使用。

● AUDIO_SCENE_VOICE_CHAT:语音聊天音频场景,VOIP 通话时使用。

应用可通过AudioManager的 getAudioScene 来获取当前的音频场景模式。当应用开始或结束使用音频通话相关功能时,可通过此方法检查系统是否已切换为合适的音频场景模式。

铃声模式

在用户进入到音频通话时,应用可以使用铃声或振动来提示用户。系统通过调整铃声模式(AudioRingMode),实现便捷地管理铃声音量,并调整设备的振动模式。

当前预置的三种铃声模式:

● RINGER_MODE_SILENT:静音模式,此模式下铃声音量为零(即静音)。

● RINGER_MODE_VIBRATE:振动模式,此模式下铃声音量为零,设备振动开启(即响铃时静音,触发振动)。

● RINGER_MODE_NORMAL:响铃模式,此模式下铃声音量正常。

应用可以调用AudioVolumeGroupManager中的 getRingerMode 获取当前的铃声模式,以便采取合适的提示策略。

如果应用希望及时获取铃声模式的变化情况,可以通过 AudioVolumeGroupManager 中的 on('ringerModeChange')监听铃声模式变化事件,使应用在铃声模式发生变化时及时收到通知,方便应用做出相应的调整。

通话场景音频设备切换

在通话场景下,系统会根据默认优先级选择合适的音频设备。应用可以根据需要,自主切换音频设备。

通信设备类型(CommunicationDeviceType)是系统预置的可用于通话场景的设备,应用可以使用AudioRoutingManager的 isCommunicationDeviceActive 函数获取指定通信设备的激活状态,并且可以使用 AudioRoutingManager 的 setCommun

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HarmonyOS开发者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值