回复
     基于VideoCodec实现音视频解码鸿蒙示例代码
鸿蒙场景化示例代码技术工程师
 发布于 2025-6-24 10:43
 浏览
 0收藏
本文原创发布在华为开发者社区,更多鸿蒙场景化示例请见华为开发者联盟官网“行业实践与常见问题”专题页。
介绍
本示例基于picker模块,使用PhotoViewPicker方法拉起图库选择视频文件,将视频文件传递到native侧使用Demuxer解封装器进行解封装,再使用OH_VideoDecoder进行解码(surface模式)送显播放。
效果预览

使用说明
下载代码后,点击选择视频可以选择相册里的视频,然后点击播放进行视频的播放。
实现思路
- 导入picker模块,拉起图库选择视频文件保存到自定义路径。
 
    let photoSelectOptions = new picker.PhotoSelectOptions();
    photoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.VIDEO_TYPE;
    photoSelectOptions.maxSelectNumber = 1;
    let photoPicker = new picker.PhotoViewPicker();
    photoPicker.select(photoSelectOptions).then((PhotoSelectResult: picker.PhotoSelectResult) => {
      this.selectFilePath = PhotoSelectResult.photoUris[0];
    })
- 
将文件传递到native侧进行交互。
 - 
使用Demuxer接口对文件进行解封装获取视频流数据。
 - 
使用OH_VideoDecoder接口将视频数据解码,结合Xcomponent送显播放。
 
    XComponent({
      id: 'xcomponent',
      type: XComponentType.SURFACE,
      libraryname: 'player'
    })
分类 
    
        赞
        
 
        收藏 
      
 回复
  相关推荐
 



















