使用方法
- 將音訊檔案拖到上傳區域,或點選選擇檔案,支援 MP3、WAV、OGG、M4A、FLAC 等格式。
- 在預覽播放器中試聽,確認是正確的聲音。
- 用於 HTML audio 元素時選擇 Data URI,用於介面請求時選擇純 Base64。
- 複製結果,或下載為 .txt 檔案。
在網頁中播放 Base64 音訊
帶有音訊 MIME 型別的 Data URI,可以用在瀏覽器需要音訊 URL 的任何地方:
<audio controls src="data:audio/mpeg;base64,..."></audio>
// JavaScript:點選按鈕時播放一段短音效
const click = new Audio('data:audio/wav;base64,...');
button.addEventListener('click', () => click.play());
在訪問者與頁面產生互動之前,瀏覽器通常會阻止聲音自動播放,所以請在點選或按鍵事件中呼叫 play(),不要在頁面載入時直接播放。
適合使用 Base64 音訊的場景
- 簡短的介面音效。只有幾 KB 的點選聲、通知提示音和報錯音可以直接放進 JavaScript 包中,無需額外請求,隨時都能立即播放。
- 離線和單檔案應用。小遊戲、自助終端、電子課件以及必須脫離伺服器、靠單個檔案執行的 HTML 報告,可以把音效內嵌在檔案裡。
- 語音識別介面。很多雲端語音識別服務允許在 JSON 請求中用 Base64 欄位(常見名稱為
content或audio)提交一段短錄音。這些服務通常對格式、取樣率和聲道數有要求,而本工具會按原樣編碼檔案,不會轉換格式或重新取樣。 - 測試樣本。音訊處理程式碼的測試可以把一小段樣本儲存為字串常量。
不適合使用 Base64 的情況
Base64 會讓體積增加約三分之一,而且瀏覽器必須收到整個字串後才能開始播放,既不能流式傳輸,也無法單獨快取,拖動進度時也不能按範圍請求。一段 5 分鐘、128 kbps 的 MP3 約為 4.8 MB,編碼後會在 HTML 或 JavaScript 中變成約 6.4 MB 的文字,而且該檔案每次更新都要重新下載。音樂、播客等較長的錄音,請使用普通音訊檔案。經驗上,只把幾秒鐘的聲音內嵌到程式碼裡。
音訊格式與 MIME 型別
| 格式 | Data URI 字首 | 說明 |
|---|---|---|
| MP3 | data:audio/mpeg;base64, | 體積小,所有瀏覽器都能播放 |
| WAV | data:audio/wav;base64, | 未壓縮,體積大,適合極短的聲音 |
| OGG(Vorbis、Opus) | data:audio/ogg;base64, | 體積小,舊版 Safari 無法播放 |
| M4A(AAC) | data:audio/mp4;base64, | 體積小,相容性好 |
| FLAC | data:audio/flac;base64, | 無損,比 MP3 和 AAC 大得多 |
在不同的作業系統上,檔案的型別可能顯示為 audio/x-wav、audio/x-m4a 等變體。瀏覽器一般也能播放這些型別;如果某個平臺要求特定型別,可以手動修改字首。
常見問題
MP3 的 Data URI 應該用什麼 MIME 型別?
audio/mpeg,所以 Data URI 以 data:audio/mpeg;base64, 開頭。網上也常見 audio/mp3,部分瀏覽器可以接受,但 audio/mpeg 才是最穩妥的寫法。為什麼預覽播放器無法播放我的檔案?
播放器依賴瀏覽器內建的解碼器。如果瀏覽器不支援某種格式(例如舊版 Safari 不支援 OGG),預覽就不會有聲音,但 Base64 輸出仍然是檔案的完整副本。
Base64 音訊最長可以多長?
工具可以編碼最大 100 MB 的檔案,但這樣的體積遠不適合內嵌。用於內嵌時,建議控制在幾秒鐘、幾十 KB 以內。用於語音識別介面時,請檢視內聯音訊的大小限制,它往往比上傳到儲存服務的音訊低得多。
可以在這裡把 MP3 轉成 WAV 嗎?
不可以。工具會按原樣編碼檔案,不改變格式、位元速率或採樣率。請先用音訊編輯軟體或 FFmpeg 等命令列工具轉換格式,再對結果進行編碼。
我的音訊會被上傳嗎?
不會。編碼和播放都在瀏覽器中完成,檔案始終保留在你的裝置上。