라이브 스트리밍 오디오 용 웹 사이트를 구성하고 있습니다. 그것은 HTML 오디오 요소와 일부 사용자 정의 javascript/jquery 컨트롤을 사용하여 일시 중지시 버퍼 및 변경 버튼을 중지합니다.Javascript - 사용자가 모바일 알림 컨트롤에서 재생/일시 중지를 누를 때 기본 동작을 무시하려면 어떻게해야합니까?
Android에서 Chrome에서 오디오를 재생할 때 재생 일시 중지 버튼이 알림에 표시됩니다. 마찬가지로 iOS 기기에는 브라우저 외부에 미디어 컨트롤이 있습니다.
사용자가 재생 - 일시 중지 명령은 오디오 요소에 직접 전송됩니다 이러한 컨트롤을 누르면
(내가 설정 한 컨트롤을 우회.)를 내가이 명령을 차단하고 대신 내 사용자 정의 함수를 호출 어떻게해야합니까?
내 재생 제어가 실행이 기능 :
function startAudio() {
// add number to get var to force fresh load each time
i++;
$("#audioPlayer").attr("src",source + "&nocache=" + i).trigger("play");
$("#playpause").removeClass('playing paused').addClass('loading');
audioPaused = false;
}
내가 시도 :
audioElem.onplay = function() {
startAudio()
}
그러나 당신이 기대하는 것처럼, 이것은 단지 게임부터 무한 루프의 원인이 startAudio 내에서()가 호출됩니다.
컨텍스트의 경우 : 일시 중지하면 일시 중지 된 상태에서 실시간 스트리밍이 계속로드되지 않도록 오디오 소스가 제거됩니다. 다시 시작할 때 소스 URL에 매번 증가하는 숫자를 추가하여 새로운로드가 강제됩니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?
에서
는이 $ ("#의 myaudio") [0] CSTE 연구진 ('놀이', 기능() {...})이 될 것인가? –
예, 여기서는 jQuery가 필요하지 않습니다. jQuery는 IE 용 호환성 이벤트 관리를 사용합니다. – xXDarioXx
고마워,하지만 내 플레이 컨트롤이 재생하기 전에 src를 변경하기 때문에 내 문제가 실제로 해결되지 않는다. 그래서이 함수를 호출하면 무한 루프가 생성된다. 내가 질문에 추가 한 코드를 보아라. –