合成两个视频,导出视频报错
{"errMsg": "operateMediaContainer:fail errType: 1, errCode: 606, errMsg: export interrupt", "containerId": 19, "errDesc": "export interrupt", "eventType": 205, "errCode": 606}
export function mergeVideos(videosourcefiles, outputFilePath) {
return new Promise((resolve, reject) => {
const mediaContainer = uni.createMediaContainer();
// 检查 videosourcefiles 是否为空
if (videosourcefiles.length === 0) {
reject(new Error("videosourcefiles 数组为空,请添加视频文件"));
return;
}
// 提取并添加轨道
Promise.all(
videosourcefiles.map((sourcefile) => {
return new Promise((resolveTrack, rejectTrack) => {
console.log("mergeVideos - sourcefile:", sourcefile);
// 检查 sourcefile 是否有效
if (typeof sourcefile !== "string" || !sourcefile.trim()) {
rejectTrack(new Error(`无效的 sourcefile: ${sourcefile}`));
return;
}
let path = sourcefile;
mediaContainer.extractDataSource({
source: path,
success: (res) => {
console.log("extractDatasourcefile success:", sourcefile);
mediaContainer.addTrack(res.tracks[0]);
resolveTrack();
},
fail: (err) => {
console.log(typeof sourcefile)
console.error("extractDatasourcefile fail:", sourcefile, err);
rejectTrack(err);
},
});
});
})
)
.then(() => {
// 导出合成视频
mediaContainer.export({
success: (res) => {
resolve(res.tempFilePath);
},
fail: (err) => {
reject(err);
},
});
})
.catch((err) => {
reject(err);
})
.finally(() => {
// 销毁容器
mediaContainer.destroy();
});
});
}
视频合成失败: {"errMsg": "operateMediaContainer:fail errType: 1, errCode: 606, errMsg: export interrupt", "containerId": 19, "errDesc": "export interrupt", "eventType": 205, "errCode": 606}
你好,麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)