HarmonyOS鸿蒙Next中AVPlayer如何设置听筒模式和扬声器模式
HarmonyOS鸿蒙Next中AVPlayer如何设置听筒模式和扬声器模式 AVPlayer如何设置听筒模式和扬声器模式
目前媒体的切换音频输出设备接口为系统接口(仅系统应用可以调用),不过非系统应用可以使用AVCastPicker组件来实现,实现在通话的时候进行听筒和喇叭的切换。首先要创建voice_call类型的会话session,激活接口要在元数据、控制命令注册完成之后再执行。
核心代码如下:
import AVCastPicker from '@ohos.multimedia.avCastPicker'
import AVSessionManager from '@ohos.multimedia.avsession';
@Entry
@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%')
}
}
更多关于HarmonyOS鸿蒙Next中AVPlayer如何设置听筒模式和扬声器模式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,AVPlayer
的听筒模式和扬声器模式可以通过设置音频路由来实现。使用AudioRoutingManager
类可以管理音频输出设备,并通过setAudioRoute
方法指定音频路由。
-
设置听筒模式:将音频路由设置为
AudioRoutingManager.ROUTE_EARPIECE
。const audioRoutingManager = avPlayer.getAudioRoutingManager(); audioRoutingManager.setAudioRoute(AudioRoutingManager.ROUTE_EARPIECE);
-
设置扬声器模式:将音频路由设置为
AudioRoutingManager.ROUTE_SPEAKER
。const audioRoutingManager = avPlayer.getAudioRoutingManager(); audioRoutingManager.setAudioRoute(AudioRoutingManager.ROUTE_SPEAKER);
通过这些方法,AVPlayer
可以实现在听筒和扬声器之间的切换。
在HarmonyOS鸿蒙Next中,使用AVPlayer设置听筒模式和扬声器模式可以通过调整音频路由实现。首先,获取AudioManager
实例,然后调用setMode
方法设置音频模式。对于听筒模式,使用AudioManager.MODE_IN_COMMUNICATION
;对于扬声器模式,使用AudioManager.MODE_NORMAL
。同时,通过setSpeakerphoneOn
方法控制扬声器开关,true
为扬声器模式,false
为听筒模式。