2013-06-03 3 views
3

저는 아이폰 전용 HTML5 오디오 플레이어를 개발 중이며 EQ 시각화 기능을 사용하려고합니다. 나는이를 설정하는 방법은 두 가지가 발견 한 바로는 : 당신은 XMLHttpRequest를 사용하여 필요에 따라 MP3 파일을로드iOS에서 작동하도록 Web Audio API를 사용하여 오디오 시각화 가져 오기


하나 : 당신은 다음 source.noteOn를 사용

var request = new XMLHttpRequest(); 
request.open('GET', 'sampler.mp3', true); 
request.responseType = 'arraybuffer'; 
request.addEventListener('load', bufferSound, false); 
request.send(); 

function bufferSound(event) { 

    var request = event.target; 
    var buffer = myAudioContext.createBuffer(request.response, false); 
    source = myAudioContext.createBufferSource(); 
    source.buffer = buffer; 

} 

및 source.noteOff 오디오를 재생 및 일시 정지시키는 함수. 이 방법으로 작업하면 EQ 시각화를 사용할 수 있습니다. 하지만 mp3 파일이 완전히로드 될 때까지 기다려야 재생할 수 있습니다. 우리 상황에서는 작동하지 않습니다.


이 작업을 수행하는 다른 방법은 페이지에 이미 <audio> 요소를 가지고, 당신은 사용하여 해당로부터 오디오 데이터를 얻을 :

source = myAudioContext.createMediaElementSource(document.querySelector('audio')); 

그런 다음 오디오 태그의 재생 및 일시 중지를 사용 기능. 이렇게하면 페이지가로드되면 즉시 미디어를 재생할 수 있으므로 로딩 문제가 해결됩니다. 그러나 EQ 시각화는 사라졌습니다.


두 방법은 크롬 (WIN)에서 테스트 할 때 EQ를 보여, 그래서 내게는 <audio> 태그에서 데이터를 얻을 허용하지 않습니다 아이폰 OS/아이폰 뭔가 구체적인있을 것 같습니다,하지만 나를 수 필요할 때마다 mp3 파일을로드하면 가져올 수 있습니다.

...

어떤 아이디어가 있습니까?

답변

2
+0

그리고 거기에 그것은 ... 남자입니다, 나는 꽤 잠시 보았고 그 게시물을 보지 못했습니다. 게다가 아이폰이 없기 때문에 친구의 테스트를 해보고 아직 그것을 사용하지 않고 디버깅을 할 수 없었습니다. 어쨌든 도움 주셔서 감사합니다. – jhallmusic

+0

문제 없습니다. 나는 너처럼 실망했다. 바라건대'MediaElementSource'를 구현 한 모질라는 똑같은 문제가 없기를 바랍니다. -_- – idbehold

+0

사실 ... 나는 버그를 애플에 직접보고했다. :) – jhallmusic