HarmonyOS鸿蒙Next中AVPlayer如何设置听筒模式和扬声器模式

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

HarmonyOS鸿蒙Next中AVPlayer如何设置听筒模式和扬声器模式 AVPlayer如何设置听筒模式和扬声器模式

3 回复

目前媒体的切换音频输出设备接口为系统接口(仅系统应用可以调用),不过非系统应用可以使用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方法指定音频路由。

  1. 设置听筒模式:将音频路由设置为AudioRoutingManager.ROUTE_EARPIECE

    const audioRoutingManager = avPlayer.getAudioRoutingManager();
    audioRoutingManager.setAudioRoute(AudioRoutingManager.ROUTE_EARPIECE);
  2. 设置扬声器模式:将音频路由设置为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为听筒模式。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!