如何切换音频播放为扬声器?

阅读 834
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
@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%')
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进