HarmonyOS 鸿蒙Next:请问鸿蒙播放语音如何切换播放音频设备

发布于 1周前 作者 nodeper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:请问鸿蒙播放语音如何切换播放音频设备

求助!!请问鸿蒙播放语音如何切换播放音频设备,音视频通话中,如何实现从听筒切换到扬声器出声。请问有人可以帮忙解答吗?


关于HarmonyOS 鸿蒙Next:请问鸿蒙播放语音如何切换播放音频设备的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。

1 回复

切换音频输出设备接口为系统接口(仅系统应用可以调用),非系统应用可以使用AVCastPicker组件来实现。可参考如下实现(使用的OS能力相关的核心API)

@ohos.multimedia.avCastPicker

@ohos.multimedia.avsession

核心代码解释

首先要创建voice_call类型的会话session,激活接口要在元数据、控制命令注册完成之后再执行

核心代码如下:

import AVCastPicker from '@ohos.multimedia.avCastPicker'
import AVSessionManager from '@ohos.multimedia.avsession';
[@Entry](/user/Entry)
[@Component](/user/Component)
struct Index {
async onPageShow(){
// 开始创建并激活媒体会话
// 创建session
let context: Context = getContext(this)
let type: AVSessionManager.AVSessionType = 'voice_call';
let session = await AVSessionManager.createAVSession(context,'SESSION_NAME', type);
console.log('AVSession成功:'+JSON.stringify(session))
// 激活接口要在元数据、控制命令注册完成之后再执行
await session.activate();
console.info(session create done : sessionId : ${session.sessionId});
}
build() {
Row() {
Column() {
AVCastPicker()
.width('40vp')
.height('40vp')
.border({ width: 1, color: Color.Red })
}.height('50%')
}.width('50%')
}
}<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
回到顶部