收藏
回答

导出视频MediaContainer.export失败没有原因

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug mediaContainer.export 微信iOS客户端 8.0.56 3.7.7

https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.export.html

合成两个视频,导出视频报错

{"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}

回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    02-28

    你好,麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    02-28
    有用
    回复
登录 后发表内容