HarmonyOS XComponent播放视频问题

用XComponent加载视频,onLoad方法不被调用。

auto createPixelStatus = OHOS::Media::OH_AccessPixels(env, pixelMap, &data);
if (createPixelStatus != OHOS::Media::OHOS_IMAGE_RESULT_SUCCESS) {
  OH_LOG_INFO(LOG_APP, "createTextureFail.");
  return 0;
}
GLuint texture = 0;
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
glBindTexture(GL_Column() {//视频播放器
  XComponent({
    id: 'ccmapp_video_1',
    type: XComponentType.SURFACE,
    libraryname: 'ccmapp_video_libraryname',
    controller: this.xComponentController
  })
    .onLoad(() => {
      Logger.info("XCompoment  onLoad ===  ");
      let surfaceID = this.xComponentController.getXComponentSurfaceId();
      this.surfaceID = surfaceID;
      this.initAVPlayer();
    })
    .width(CommonValues.PERCENT_100)
    .height(this.videoHeight)
    .onDestroy(() => {
      Logger.info("XCompoment  onDestroy ===  ")
      if(this.avPlayer){
        this.avPlayer.release();
      }
    })
}
.zIndex(1)
.width(CommonValues.PERCENT_100)
.height(CommonValues.PERCENT_100)
.justifyContent(FlexAlign.Center)
.onClick(() => {
  this.videoStatusClick();
})TEXTURE_2D, 0);
HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

初始时设置的视图高度为0的问题。默认配置一个高度就行。

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 视频列表播放问题
75浏览 • 1回复 待解决
HarmonyOS 视频后台播放问题
25浏览 • 1回复 待解决
HarmonyOS AvPlayer视频播放速度问题
492浏览 • 1回复 待解决
SDK问题视频播放替代?
242浏览 • 1回复 待解决
HarmonyOS 视频播放问题
25浏览 • 1回复 待解决
Java Player视频播放不了的问题
8624浏览 • 2回复 待解决
HarmonyOS 视频播放相关
70浏览 • 1回复 待解决
HarmonyOS 列表视频滚动播放
424浏览 • 1回复 待解决