Solution with mp3-duration - npm
File.settings.json
"duration": {
"type": "decimal",
"configurable": false
},
services/Upload.js
const mp3Duration = require("mp3-duration");
if (formattedFile.mime.startsWith("audio")) {
await mp3Duration(readBuffer, (err, duration) => {
if (!err) {
formattedFile.duration = duration;
return _.assign(formattedFile, info, {
buffer,
});
}
});
}
return _.assign(formattedFile, info, {
buffer,
});