基于VideoCodec实现音视频解码鸿蒙示例代码
·
本文原创发布在华为开发者社区,更多鸿蒙场景化示例请见华为开发者联盟官网“行业实践与常见问题”专题页。
介绍
本示例基于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'
})
更多推荐
所有评论(0)