HarmonyOS AVPlayer设置surfaceId报错

XComponent({
  id: 'xxx',
  type: XComponentType.SURFACE
})

this.avpPlayer.surfaceId = 'xxx';

调用报错:

{"code":401,"msg":"Invalid Parameter: SurfaceUtils cannot convert ID to Surface"}
HarmonyOS
2024-12-25 16:46:09
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

应用需要从XComponent组件获取surfaceID:

XComponent({
  id: '',
  type: XComponentType.SURFACE,
  controller: this.xComponentController
}).onLoad(() => {
  this.xComponentController.setXComponentSurfaceRect({
    surfaceWidth: 1280, surfaceHeight: 2000
  })
  this.surfaceId = this.xComponentController.getXComponentSurfaceId()
  ...
})
// stateChange回调中,avplayer 设置播放源后触发该状态上报
case 'initialized':
console.info('AVPlayer state initialized called.');
avPlayer.surfaceId = this.surfaceId; // 设置显示画面,当播放的资源为纯音频时无需设置
avPlayer.prepare();
break;
分享
微博
QQ
微信
回复
2024-12-25 19:27:27
相关问题
HarmonyOS media.AVPlayer偶现报错
187浏览 • 1回复 待解决
HarmonyOS avplayer播放fd路径文件报错
378浏览 • 1回复 待解决
HarmonyOS avplayer报错后该怎么处理?
323浏览 • 1回复 待解决
HarmonyOS avplayer s设置倍速问题
186浏览 • 1回复 待解决
HarmonyOS AVPlayer播放器UI设置
324浏览 • 1回复 待解决
HarmonyOS AVPlayer 静音
218浏览 • 1回复 待解决
HarmonyOS AVPlayer XComponent
467浏览 • 1回复 待解决
HarmonyOS AVPlayer API问题
41浏览 • 1回复 待解决
HarmonyOS AVPlayer 播放问题
1041浏览 • 1回复 待解决
HarmonyOS AVPlayer的问题
519浏览 • 1回复 待解决
setRingerMode设置静音模式报错
5983浏览 • 1回复 待解决