收藏
回答

MediaContainer.extractDataSource(Object objec)的Bug

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

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

添加多条将传入的视频源分离轨道。地址提示要求string类型,确实传入了string,但是仍然报错要求string


MediaContainer.extractDataSource(Object object)

           fail: (err) => {
              console.log(typeof sourcefile)
              console.error("extractDatasourcefile fail:", sourcefile, err);
              rejectTrack(err);
            },

string

{"errno": 1001, "errMsg": "createMediaContainer.extractDataSource:fail parameter error: parameter.source should be String instead of Undefined;"}

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({
            src: 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();
      });

["wxfile://tmp_8f716c33140d1d262e26ed730b1d2a1a.mp4", "wxfile://tmp_9dcebf99f224e32d92bb910b556b00fa.mp4"]

mergeVideos - sourcefile: wxfile://tmp_8f716c33140d1d262e26ed730b1d2a1a.mp4

string

extractDatasourcefile fail: wxfile://tmp_8f716c33140d1d262e26ed730b1d2a1a.mp4 {"errno": 1001, "errMsg": "createMediaContainer.extractDataSource:fail parameter error: parameter.source should be String instead of Undefined;"}


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

2 个回答

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

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

    02-28
    有用
    回复
  • 欢乐马
    欢乐马
    02-28

    solve

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