base64 문자열로 인코딩 된 10 초 오디오 스트림이 있습니다. 오디오 태그에 연결되면 HTML 요소 내에서 제대로 재생됩니다. 다운로드를 시도 할 때 파일은 0:00의 지속 시간을 가진 손상된 파일로 다운로드됩니다. 30,000 문자 한도를 초과하려고하는 것은 질문에서 허용되지 않기 때문에오디오 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>
위의 코드에서 base64로 문자열이 유효하지 않습니다. 결과적으로 나는 그것을 다듬어야했다. 원래 문자열은 유효하고 잘 재생되지만 글자 수 제한 때문에 여기에 게시 할 수 없습니다.
내가 원하는 것은 정확한 mp3 파일을 'audio/mp3'유형의 base64 인코딩 된 문자열에서 다운로드하는 것입니다.
일반 자바 스크립트/ES6을 사용하여 어떻게 수행합니까? 통찰력은 크게 감사하겠습니다.