私はbase64文字列としてエンコードされた10秒のオーディオストリームを持っています。オーディオタグにアタッチすると、HTML要素内で正しく再生されます。ダウンロードしようとすると、破損したファイルとしてダウンロードされ、継続時間は0:00です。オーディオbase64の文字列をMP3ファイルとして破損せずにダウンロードするには?
var audio = document.getElementById('audio-element');
var linkTag = document.getElementById('link-element');
linkTag.href = audio.src;
linkTag.download = 'audio-file';
linkTag.click();
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<audio src="data:audio/mp3; codecs=opus;base64,GkXfo59ChoEBQveBAULy.............IiT5Q==" controls id="audio-element">
Your browser does not support the audio element
</audio>
<a href="" id="link-element">Download audio</a>
</body>
</html>
3万文字の制限を超えて行くのは質問では許可されていないため、上記のコードでbase64文字列は、無効です。その結果、私はそれを整えなければならなかった。元の文字列は有効であり、正常に再生されますが、文字数制限のためにここに投稿することはできません。
私が望むのは、正確なmp3ファイルを、 'audio/mp3'タイプのbase64エンコードされた文字列からダウンロードすることです。
プレーンなjavascript/ES6を使用してこれを行うにはどうすればよいですか?洞察は大いに評価されるだろう。