2011-11-08 1 views
4

음향 효과가있는 HTML5 웹 앱이 있습니다. 나는 iOS5에서 이러한 효과를 얻으려고 노력하고 있으며 내 삶을 영위 할 수는 없습니다.자동 재생 iOS5의 HTML5 오디오/동영상

iOS5에서 HTML5 오디오/비디오 컨트롤에 대한 JS 제어 권한을 얻는 데 문제가있는 사람이 있는지 궁금합니다.

심지어 한 번의 클릭으로 여러 오디오 파일을 제어하는 ​​방법. 지금 당장은 10 가지 사운드 효과가 있다면 모든 것을 제어하기 위해 10 명의 사용자 클릭이 필요합니다. 어리 석도!

+1

애플이 아이폰 OS의 자동 실행을 허용하지 않습니다까지로 나도 알다시피, 그것은 사용자 클릭에 의해 시작되어야한다. 또한 한 번에 하나의 파일 만 비디오로 재생할 수 있고 오디오는 아마도 동일하다. – ryuutatsuo

+0

나는 사운드 트랙을 오버레이 할 수있다. 네, 그렇게 해 ... –

+0

마찬가지로 @andrewh는 사용자가 활성화 한 것으로 언급 했으므로 사용자가 오디오를 제거하고 활성화 할 때 전체 사용자에게 투명 div를 오버레이하지 않는 것이 좋습니다. 이렇게하면 사용자 상호 작용이었습니다. 이것은 더 많은 해킹입니다. 또는 – ryuutatsuo

답변

7

Absurb하지만 iPhone이나 휴대 전화의 관점에서보아야합니다. 대역폭 제한이있는 휴대 전화를 통해 이동하는 휴대 전화입니다. 많은 사람들이 최근 스프린트 광고를 통해 알게됩니다. 일부 사이트는 자체 조치를 취하지 않고도 많은 양의 데이터를 전송하기 때문에 사용자가 대역폭 제한을 초과하는 것을 원하지 않습니다.

다음은 공식 Safari Developer Library에서 발췌 한 내용입니다. iOS에서 다운로드 이상 셀룰러 네트워크

사파리에서

사용자 컨트롤 사용자가 셀룰러 네트워크에있을 수 있으며, 데이터 단위, 프리로드와 당 부과, (아이 패드를 포함한 모든 장치에 대한) 자동 재생이 사용 중지되었습니다. 사용자가 데이터를 시작할 때까지 데이터가로드되지 않습니다. play() 또는 load() 메서드 이 사용자 작업에 의해 트리거되지 않으면 사용자가 재생을 시작할 때까지 JavaScript play() 및 load() 메서드도 비활성 입니다. 즉, 사용자가 시작한 재생 버튼이 작동하지만 onLoad = "play()"이벤트는 작동하지 않습니다.

이 영화를 재생 : <input type="button" value="Play" onClick="document.myMovie.play()">

이 iOS에서 아무것도하지 않습니다 : <body onLoad="document.myMovie.play()">

+0

조금 뒤떨어졌지만 이것은 해결책이 없다는 것을 의미합니까? – dragonx

+0

+1 'Absurb'이라고 말하면 +1 – dopatraman

0

당신이 이런 식으로 뭔가를 시도를 ??

+0

yep :) 그 중 하나만 작동합니다. 다른 사람들은 무시 당한다. 내 코드는 다음과 같습니다. var files = $ ('audio'); ... clickFn() {files.pop(). play(); }'각 파일에 대한 제어권을 얻으려면 ... –

+0

네, 그냥 Ipad를 확인할 수 있었고 하나만 재생했습니다. ( – ryuutatsuo

+0

앞으로도이 코드가 필요할 수도 있습니다. 감사합니다. 감사합니다. – ryuutatsuo

6

Apple에 따라 셀 데이터 요금을 방지하기 위해 자동 재생 기능이 제한되어 있습니다. xcode4에서 나는 해결 방법을 추가했다. 귀하의 "webViewDidFinishLoad"비디오를 자동으로 자바 스크립트 호출을 보내면 작동합니다. 나는 정규식 자바 스크립트로 html 파일에서 이것을 시도했지만 작동하지 않았다. 그래도 webViewDidFinishLoad를 통해 트릭을 만들었습니다. 이 예제에서는 index.html 페이지에서 자동으로 비디오를 재생하고 싶습니다. 해당 페이지에서 startVideo()라는 javascript 함수가 있습니다.

- (void)webViewDidFinishLoad:(UIWebView *)webView{ 
    NSURLRequest* request = [webView request]; 
    NSString *page = [request.URL lastPathComponent]; 
    if ([page isEqualToString:@"index.html"]){ 
     NSString *js = @"startVideo();"; 
     [myWebMain stringByEvaluatingJavaScriptFromString:js]; 
    } 
} 

그리고 여기 내 자바 스크립트 함수입니다 :

<script> 
function startVideo(){ 
var pElement3 = document.getElementById('myVideo'); 
pElement3.play(); 
} 
</script> 

그리고 여기 당신이 비디오를 HTML로 새로운있어 경우에 HTML의

<video id="myVideo" poster="index_poster.png" width="1024" height="768" xcontrols  autoplay="autoplay"> 
<source src="flow.m4v" type="video/mp4"/> 
browser not supports the video 
</video>