AVPlayer默认播放是用听筒,如何默认开启扬声器?

如题:AVPlayer默认播放是用听筒,如何默认开启扬声器?

阅读 481
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%')
  }
}
logo
HarmonyOS
子站问答
访问
宣传栏