通过相机录制的视频,使用picker选中后获得该视频的uri,然后使用media.AVPlayer播放报错。
关键代码:
// 1.uri转fd
let filePath = "file://media/Photo/13/VID_1724807350_000/VID_20240828_090743.mp4";
let fd = fileIo.openSync(filePath, fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE).fd;
let state = fileIo.statSync(fd)
let avFileDescriptor: media.AVFileDescriptor = { fd:fd, offset: 0, length: state.size };
this.avPlayer.fdSrc = avFileDescriptor;
AVPlayer设置url,有3种来源:
1、如果使用本地资源播放,必须确认资源文件可用,并使用应用沙箱路径访问对应资源,也就是来源于沙箱路径。
2、如果使用网络播放路径,需声明权限:ohos.permission.INTERNET。
3、如果使用ResourceManager.getRawFd打开HAP资源文件描述符。
关于这块说明可参考官方文档该链接下的设置资源环节:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/using-avplayer-for-playback-V5\#开发步骤及注意事项