簡體   English   中英

如何使用 javascript 將 mp3 文件轉換為原始音頻格式

[英]How to convert an mp3 file to raw audio format using javascript

我正在從事一個涉及歌曲匹配的項目,因此我正在與 rapidApi 的 shazam 端點集成。 但問題是,歌曲匹配端點需要音頻片段是原始音頻格式的 base64 字符串。 我知道 API 作品。 我下載了一個 3rd 方應用程序來進行從 mp3 到 .raw 的轉換,並在使用它發出請求之前將其轉換為 base64。

現在,我需要以編程方式集成此流程。 如何將 mp3 或任何音頻源真正轉換為 .raw 文件? 我做了很多搜索,但找不到任何解決方案。

我使用了@ffmpeg/ffmpeg webassembly package。ffmpeg 的 javascript 端口。

const convertToRaw = async (filePath)=>{
    const ffmpeg = createFFmpeg({ log: true })
    await ffmpeg.load();
    const file = await fetchFile(filePath)
    ffmpeg.FS('writeFile', 'input.mp3', file)
    await ffmpeg.run('-i', 'input.mp3', '-f', 's16le', '-acodec', 'pcm_s16le', '-ac', '1', 'output.raw')
    const data = ffmpeg.FS('readFile', 'output.raw')
    const base64 = Buffer.from(data.buffer).toString('base64')
    return base64
}

我認為 web 音頻的 decodeAudioData 就是您要找的。

你想要 PCM 數據,對吧?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM