2009-10-12 4 views
0

가 파일을 전송합니다 (현재는 FF에서 지원.)HTTP 헤더는 HTML5 내가 wav 파일을 재생하는 HTML5의 새로운 태그를 사용하여 원하는 <audio>

https://developer.mozilla.org/En/HTML/Element/Audio

나는 "PHP의 ReadFile을 명령을 사용하여 m은 WAV를 얻을 수 하드 디스크를 파일 및 HTTP 응답에 씁니다.

그러나 파이어 폭스는 작동하지 않습니다. 오디오 위젯 그냥 로딩 애니메이션이 있습니다를 지속적으로 실행할 수 있습니다.

을 나는 넣을 수있는 태그는 잘 될 것 같다 다른 URL src/source에 있고 잘 작동합니다. 태그를 사용하면 파일을 다운로드 할 수 있으며 Quicktime을 사용하여 정상적으로 재생됩니다.

아마도 콘텐츠 헤더 중 하나 또는 전부를 생각하고 있습니다.

(Status-Line) HTTP/1.1 200 OK 
Date Mon, 12 Oct 2009 03:04:33 GMT 
Server securesauce 
Cache-Control private 
Expires Mon, 26 Jul 1997 05:00:00 GMT 
Pragma private 
Vary Accept-Encoding 
Content-Encoding gzip 
Content-Length 8217 
Keep-Alive timeout=15, max=100 
Connection Keep-Alive 
Content-Type audio/x-wav 

그래서 모든 나는 그것을 기대하는 방법을 찾습니다 : 나는이 응답 헤더가 서버에서 도착 볼 수있는 FF 확장 httpfox를 사용

. 내가 스크립트에서 명시 적으로 설정하고있어 머리글 만은 (다른 사람이 응용 프로그램의 다른 곳에서 설정) : 내가 어떤 반응을 나열하지 않은 다른 wav 파일 (인터넷 오프 랜덤 한) httpfox을 시도

Cache-Control private 
Pragma private 
Content-Type audio/x-wav 

헤더.

콘텐츠를 보내는 php 파일이므로 콘텐츠 유형을 보내야하므로 머리글을 보낼 수 없습니다.

아이디어가 있으십니까?

자료 발췌 :

header('Cache-Control: private'); 
header('Pragma: private'); 
header("Content-Type: $contentType"); 
readfile($filepath); 
exit; 

답변

4

Mozilla에서 지원하는 형식 및 MIME 유형은 their wiki에 있습니다. MIME 유형이 문제는 아니지만이 WAVE 파일이 Firefox가 지원하는 일반 PCM 오디오를 사용하지 않을 가능성이 있습니다. WAVE는 실제로 ADPCM, MP3 및 기타 등의 다른 형식을 포함 할 수 있습니다. QuickTime에서 지원할 수 있지만 HTML5 브라우저에서 재생된다는 보장은 없습니다. 오디오 편집기에서 파일을 열고 WAVE PCM 파일로 다시 저장하십시오.

+0

아, 그거야! wav 파일은 GSM610의 Asterisk에서 녹음합니다. – Redzarf

+0

내 장고 프로젝트의 헤더로 여러 시간 동안 쫓겨 난 후 이것이 바로 올바른 길로 인도했습니다! 당신에게 각하. – HurnsMobile

0

가 직접 브라우저에서 오디오 파일의 URL을 시도 해 봤나? 헤더 나 헤더를 쓸모 없게 만드는 오류나 경고가 포함되어있는 경우. 또한 브라우저에서 오디오 파일을 열어보십시오. 올바른지 확인하십시오.

+0

감사합니다. 예, 시도했는데 파일이 정상적으로 quicktime을 사용하여 재생됩니다. (직접로드하는 것은 httpfox를 통해 헤더를 얻는 방법입니다.) 파일을 저장 한 다음 Windows Media Player를 사용하여 파일을 재생할 수도 있습니다. – Redzarf

0

나는 PHP를 사용하여 ogg 오디오 파일을 보내는 것과 같은 문제가있었습니다. 헤더를 가지고 노는 것이 도움이되지 못했습니다.

그럼 파이어 폭스 3.5.2에서 3.5.4로 업데이트했는데 문제가 해결되었습니다.

1

X-Content-Duration이 없습니다. 재생하는 동안 클라이언트가 정확하게 검색해야하며, 일부 클라이언트는 재생 시간이 포함되어 있지 않으면 미디어 콘텐츠를 거부합니다. 천천히 X-Content-Duration을 대체하는 Content-Duration도 포함하십시오. 또한 Configuring web servers for HTML5 Ogg video and audio

, 당신의 출력을 gzip을하거나 암호화를 사용하지 않는 것 :

여기에 좀 더 정보입니다.

관련 문제