node-taglib-sharp icon indicating copy to clipboard operation
node-taglib-sharp copied to clipboard

Argument null: text was not provided

Open Empty-57 opened this issue 10 months ago • 0 comments

在保存图片到音乐(.mp3)元数据时,出现错误: Argument null: text was not provided

版本 node-taglib-sharp-extend:0.3.2

以下是我的代码:

ipcMain.on('saveNetCover', async (_, args) => {
  axios.get(args.picUrl, {responseType: 'arraybuffer'}).then(async ({data}) => {
    const picData = await sharp(Buffer.from(data, 'binary'))
      .resize(600, 600)
      .toBuffer()

    const myFile = createFileFromPath(args.path);

    const pic = {
      data: ByteVector.fromByteArray(picData),
      mimeType: 'image/png',
      type: PictureType.FrontCover
    };
    myFile.tag.pictures = [pic];
    myFile.save();
    myFile.dispose();

  }).catch(error => {
    console.log(error);
  })
})

错误如下:

Error: Argument null: text was not provided
    at notNullOrUndefined (file:///D:/Code/Vega-Player/electron-main/node_modules/.pnpm/[email protected][email protected]/node_modules/node-taglib-sharp-extend/dist/index.js:59:11)
    at _ByteVector.fromString (file:///D:/Code/Vega-Player/electron-main/node_modules/.pnpm/[email protected][email protected]/node_modules/node-taglib-sharp-extend/dist/index.js:454:5)
    at _UniqueFileIdentifierFrame.renderFields (file:///D:/Code/Vega-Player/electron-main/node_modules/.pnpm/[email protected][email protected]/node_modules/node-taglib-sharp-extend/dist/index.js:8900:18)
    at _UniqueFileIdentifierFrame.render (file:///D:/Code/Vega-Player/electron-main/node_modules/.pnpm/[email protected][email protected]/node_modules/node-taglib-sharp-extend/dist/index.js:7885:26)    at file:///D:/Code/Vega-Player/electron-main/node_modules/.pnpm/[email protected][email protected]/node_modules/node-taglib-sharp-extend/dist/index.js:12849:22
    at Array.map (<anonymous>)
    at _Id3v2Tag.render (file:///D:/Code/Vega-Player/electron-main/node_modules/.pnpm/[email protected][email protected]/node_modules/node-taglib-sharp-extend/dist/index.js:12841:44)
    at file:///D:/Code/Vega-Player/electron-main/node_modules/.pnpm/[email protected][email protected]/node_modules/node-taglib-sharp-extend/dist/index.js:13285:44
    at Array.map (<anonymous>)
    at _StartTag.render (file:///D:/Code/Vega-Player/electron-main/node_modules/.pnpm/[email protected][email protected]/node_modules/node-taglib-sharp-extend/dist/index.js:13285:31)

似乎是因为 ByteVector.fromString 方法接收了 nullundefined 参数。 可能是 _UniqueFileIdentifierFrame 的某些字段未正确初始化,导致渲染时传递了无效参数。 我不知道如何去解决他

Empty-57 avatar Feb 03 '25 09:02 Empty-57