2010-11-21 3 views
0

표준 아파치 서버에서 긴 mp3 파일을 호스팅하고 있습니다 (30 분 전부터 사용하고 싶습니다. 더 긴 소리도).HTML : 그 지점까지 모든 사운드 데이터를 버퍼링하지 않고 URL 중간 파일에서 사운드 재생을 시작하는 방법

이 오디오의 재생을 지정된 지점에서 시작하고 싶습니다.

Flash Actionscript 3을 사용하려고 할 때 기본 테스트에서 재생하기 전에 처음부터 선택한 위치까지 모든 오디오가 버퍼링된다는 것을 보여줍니다 (Sound.bytesLoaded는 여기 내 친구였습니다). 1 초를 시작하면 재생 시작에 약 3 초가 소요되고 30 초가 소요되며 약 25 초가 소요됩니다. 분명히 3 시간짜리 오디오 북 한가운데서 재생을 건너 뛰는 것과 같이 정말로 긴 mp3의 경우, 이것은 실용적이지 않을 것입니다.

여기 내가 사용은 ActionScript 3.0 코드는이 플래시에서도 가능하면

button.addEventListener(MouseEvent.MOUSE_DOWN, function():void { 
var s:Sound = new Sound(); 
var req:URLRequest = new URLRequest("http://example.com/audio.mp3"); 
s.load(req); 
s.play(30 * 60 * 1000); // start 30 seconds in. 
} 
); 

누구나 알아?

그렇지 않은 경우 서버 측 솔루션을 설치하지 않고도 웹 페이지에서이 작업을 수행 할 수 있습니까?

고마워요.

답변

1

내가 알기로, 그것은 HTTP vs 스트리밍을 통한 정기적 인 "프로그레시브 다운로드"문제입니다.

표준 설정에서 일반 HTTP 서버와 Flash Player는 mp3 또는 비디오의 이전 부분을 건너 뛸 수 없으므로 설명하는대로 해당 지점까지의 모든 데이터를 먼저 다운로드해야합니다.

건너 뛰기/검색을 사용하는 한 가지 방법은 Adobe의 Flash Media Streaming Server 또는 오픈 소스 대안 Red5과 같은 스트리밍 서버를 사용하여 mp3를 제공하는 것입니다.

그러나 HTTP 서버에 소위 "pseudostreaming"을 설정하는 방법도 있습니다 :

http://flowplayer.org/plugins/streaming/pseudostreaming.html

+0

감사합니다 - 그게 정말 도움이됩니다. 의사 스트리밍은 가장 매력적인 아이디어로 보입니다. 오디오 전용 FLV 파일과 PHP 전용 솔루션을 실험 해 보겠습니다. –

관련 문제