howler.js을 사용하여 일부 오디오 파일을 재생해야하는 간단한 웹 앱을 만들고 있습니다. howler.js는 base64 URI를 입력으로 받아들이므로이를 시험해보고 싶었습니다. 이를 테스트하기 위해 샘플 오디오 파일을 가져 와서 온라인 audio-to-base64 encoder을 사용하여 base64 URI를 가져 왔습니다. base64로 문자열의 맨 앞에 복사하여 다음 JS 기능에 붙여 ... :왜 파이썬과 온라인 webapp를 사용하여 wav 파일을 base64로 인코딩하면 다른 결과가 나타 납니까?
function playSound() {
var data = "";
var sound = new Howl({
src: [data],
loop: false
});
sound.play();
}
... 그리고 그것은 완벽하게 작동; 나는 ("base64로, 오디오/WAV 데이터") 데이터 설명을 추가 . 꽤 많은 수의 오디오 파일을 처리 할 것이므로, 짧은 파이썬 스크립트를 사용하여 모든 파일을 base64로 변환 할 수있을 것이라고 생각했습니다. 나는 다음과 같은 파이썬 코드로 base64로 문자열 같은 오디오 변환, 테스트하려면 :
import base64
with open("0.wav", "rb") as f1,open("b64.txt", "w") as f2:
encoded_f1 = base64.b64encode(f1.read())
f2.write("data:audio/wav;base64,")
f2.write(str(encoded_f1))
나는 base64로 문자열이 다른 전면에게 내가 웹 사이트 이전에서 얻은 하나를 알게되었다. 나는 이전에 표시된 JS 기능으로이 붙여,하지만 난 소리를 재생하려고하면, 다음과 같은 오류 얻을 : 그건 파이썬의 차이의 어떤 종류가있는 것 같습니다
Uncaught DOMException: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.
베이스 64로 인코딩입니다. 그 원인은 무엇일까요?
'atob()이 (가) 어디에서 호출됩니까? – guest271314
howler.js 코드 자체라고합니다. 여기에서 확인하십시오 : https://github.com/goldfire/howler.js/blob/master/dist/howler.core.min.js (코드는 한 줄에 표시되어 있지만 CTRL + F를 누르면 표시됩니다. 'atob()'이 불려갑니다). –
'python'에서 생성 된'data URI'를 포함하여 jsfiddle https://jsfiddle.net 또는 plnkr https://plnkr.co를 만들 수 있습니까? – guest271314