2011-08-24 7 views
10

iPad에서 역방향으로 HTML5 동영상을 재생하려고합니다 (동영상은 사용자 입력에 따라 임의로 앞으로 및 뒤로 전환해야 함).iOS에서 HTML5 동영상 재생하기

HTML5 <video> 요소에는 playbackRate이라는 속성이 포함되어있어 동영상을 더 빠르거나 느린 속도로 재생하거나 그 반대로 재생할 수 있습니다. Apple's documentation에 따르면이 속성은 iOS에서 지원되지 않습니다.

currentTime 속성을 초당 여러 번 (예 : 초당 10-30 개의 업데이트) 설정하여 playbackRate을 사용하지 않고 위장 할 수 있습니다. 이 접근법은 데스크톱 사파리에서 작동하지만 초당 약 1 건의 업데이트로 iOS 기기를 찾는 것 같습니다. 제 경우에는 너무 느립니다.

iOS 기기 (즉 iPad)에서 HTML5 동영상을 뒤로 재생하는 방법이 있습니까?

가 미하이가 제안한 것처럼

+3

서버에 비디오의 일반 사본과 역 사본을 저장할 수 있습니다. – Mihai

+0

나는 그것을 시도했다. 전환이 예상보다 빠르지 만 비디오가 끊어지면서 퀵타임 로고가 나타났습니다. 원활한 전환이 필요합니다. –

+0

해결 했습니까? 얼마나 오랫동안 비디오가 자세하게 묘사되어 있습니까? 이미지를 임의로 잘라 슬라이스를 캔버스 객체에 그릴 수 있습니까?

답변

2

이제 playbackRate 속성이 iOS 6 Safari에서 지원됩니다.

+0

https://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html#//apple_ref/doc/에서 언급 한 내용이 잘못되었다고 생각합니다. uid/TP40009523-CH5-DontLinkElementID_1 – joafeldmann

+0

당신은 정확합니다. 그것은 iOS 6의 초기 릴리스에서 작동했지만 6.0.2 또는 그 밖의 것들은 비활성화 시켰습니다. – kenwarner

3

(나는 아이 패드 2를 실행 4.3.1에서 테스트하고 있습니다), 두 버전을 사용하고 사용자가 재생 방향을 변경할 때이 위치를 찾아 업데이트합니다.

DIV의 동영상을 서로 겹치게하고 재생 방향을 대칭 이동하면 div 표시를 전환하고 숨겨진 재생을 일시 중지합니다.

  1. 사용자가 재생 토글을 클릭 :

    그래서이 타임 라인입니다.

  2. 표시된 비디오를 일시 중지합니다.
  3. 표시된 비디오의 위치를 ​​찾으십시오.
  4. 비디오 기간에서 해당 값을 뺍니다.
  5. 표시되지 않은 비디오에서이 값을 찾습니다.
  6. 표시된 동영상 DIV를 전환합니다.
  7. 새로 표시된 비디오를 재생합니다.
+0

애플은 "하나 이상의 비디오를 나란히, 부분적으로 겹치거나 완전히 겹쳐서 재생하는 것은 현재 iOS 장치에서 지원되지 않습니다."라고 말합니다. http://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html#//apple_ref/doc/uid/TP40009523-CH5-SW10 –

+0

이렇게하면 iOS 기기에서는 작동하지 않습니다. 2 비디오 옵션을 수행하는 유일한 방법은 새 비디오로 전환 할 때 기존 비디오를 언로드하여 중요한 중단을 유발하고 Quicktime 로고를 표시하는 것입니다. –

+1

앞으로 및 뒤로 비디오를 같은 파일에 결합 해 볼 수도 있으며, 뒤로 재생할 때 비디오의 뒤로 이동하여 앞으로 재생할 수 있습니다. –

0

내 제안은 HTML 코드에 "가짜"동영상 플레이어를 만드는 것입니다. 그런 다음 사용자의 사파리/ios 콜백 메소드를 사용하여 비디오를 "재생"하려는 시도를 캡처합니다. 그런 다음 실제로 비디오를로드하고 브라우저에서 비디오의 원래 위치 위에 표시하거나 전체 화면 재생 만 지원하는 MPMoviePlayerController를 만듭니다. MPMediaPlayback 프로토콜은 currentPlaybackRate 속성을 통한 역방향 재생을 지원합니다. 네이티브 플레이어가 지원하기 때문에 결국이 기능을 구현하지 않는 Safari의 iOS 버전을 볼 수 없으므로 이것은 일시적인 수정 사항입니다.

2

왜 역방향 및 정방향 버전을 하나의 동영상으로 스티칭하지 않습니까?

이렇게하면 사용자가 방향을 전환 할 때 비디오를 언로드하고로드하는 문제가 제거됩니다. 단일 영화 방식을 사용하면 사용자가 방향을 바꿀 때 나머지 절반의 해당 지점을 찾아서 찾아야합니다.

0

참고 : 나는 바보와 질문의 적지 않은 부분을 놓친, 그래서 다음은 아이폰 OS 목적으로 인터넷 검색의 순간 후

꽤 쓸모가, 내가 설명에 따라 다음 코드 발견 어떻게 웹킷 기반 브라우저에서 HTML5 비디오의 역 재생을 지원합니다 :

function speedup(video, direction) { 
    if (direction == undefined) direction = 1; // or -1 for reverse 
    if (video.playbackRate != undefined) { 
     video.playbackRate = direction == 1 ? 2 : -2; 
    } else { // do it manually 
     video.setAttribute('data-playbackRate', setInterval ((function playbackRate() { 
     video.currentTime += direction; 
     return playbackRate; // allows us to run the function once and setInterval 
     })(), 500)); 
    } 
} 

function playnormal(video) { 
    if (video.playbackRate != undefined) { 
     video.playbackRate = 1; 
    } else { // do it manually clearInterval(video.getAttribute('data-playbackRate’)); } 
} 

출처 : http://net.tutsplus.com/tutorials/html-css-techniques/html5-audio-and-video-what-you-must-know/

당신은 속도 시간에 HTML5 비디오 객체에 전달해야 DUP 기능,하지만 다시 그 기능을 가능으로 감소시킬 수있는 (내가이 아이 패드 특정 기능입니다, 아직 테스트하지 않은 경우) 다음

function reverseVideo(video) { 
    video.playbackRate = -1; 
} 

놀러 자유롭게, 그리고 더 많은 정보를 검색 html5 동영상 요소에 있음 :

+0

젠장, 너무 피곤해서 미안해. 몇 분 안에 내 대답을 업데이트 할거야, IOS 부분에서 지원되지 않는 걸 놓친다. : ( –

관련 문제