2012-02-16 33 views
13

Làm cách nào để trình phát video của tôi bỏ qua/tìm kiếm một thời điểm nhất định. Tôi đã có một đi lúc này và nó hoạt động khi trang đầu tiên tải (Trong Chrome) nhưng không phải trong bất kỳ trình duyệt khác. Tôi cũng có một dự phòng flash có thể là một nỗi đau, nhưng bây giờ ưu tiên là mặt HTML của sự vật Vấn đề chính là nó không hoạt động bên ngoài Chrome!Tìm kiếm video HTML5 [cập nhật]

EDIT: Tính năng này hiện hoạt động trong IE9, Chrome và Firefox. Tuy nhiên, không phải với dự phòng flash!

Dưới đây là nỗ lực của tôi cho đến thời điểm này.

Tôi đang sử dụng JS sau cho đến nay:

<script language="javascript"> 
    $(function() { 
    var v = $("#video").get(0); 
     $('#play').click(function(){ 
       v.play(); 
     }); 

     $('.s').click(function(){ 
      alert("Clicked: "+$(this).html() +"- has time of -" + $(this).attr('s')); 
      v.currentTime = $(this).attr('s'); v.play(); 
     }); 
    }); 
    </script> 

Những liên kết như sau:

<video id="video" controls width="500"> 
     <!-- if Firefox --> 
     <source src="video.ogg" type="video/ogg" /> 
     <!-- if Safari/Chrome--> 
     <source src="video.mp4" type="video/mp4" /> 
     <!-- If the browser doesn't understand the <video> element, then reference a Flash file. You could also write something like "Use a Better Browser!" if you're feeling nasty. (Better to use a Flash file though.) --> 
     <object type="application/x-shockwave-flash" data="player.swf" 
     width="854" height="504"> 
      <param name="allowfullscreen" value="true"> 
      <param name="allowscriptaccess" value="always"> 
      <param name="flashvars" value="file=video.mp4"> 
      <!--[if IE]><param name="movie" value="player.swf"><![endif]--> 
      <p>Your browser can’t play HTML5 video.</p> 
    </object> 
    </video> 

Với bối cảnh của việc có nút với một lớp s và tùy chỉnh thuộc tính s=60 cho " 60 giây "v.v.

Trả lời

11
seekToTime:function(value) 
{ 
    var seekToTime = this.videoPlayer.currentTime + value; 
    if(seekToTime < 0 || seekToTime > this.videoPlayer.duration) 
     return; 

    this.videoPlayer.currentTime = seekToTime; 
} 

Đây là chức năng tìm kiếm chúng tôi đang sử dụng. Đó là cú pháp của MooTools, nhưng bạn sẽ nhận được điểm. Hy vọng nó giúp.

+0

Thay đổi mã của tôi hiện nay để đưa vào cuối tài khoản/bắt đầu tràn. Nhưng whatabout flash dự phòng? Làm thế nào tôi có thể kiểm soát SWF? Mất nó bệnh cần thêm JQ – JustAnotherDeveloper

+0

Chấp nhận câu trả lời này là vấn đề im có bây giờ là không liên quan đến câu hỏi. – JustAnotherDeveloper

1

tôi đoán bạn đã xây dựng các điều khiển của riêng bạn với js và css ?! tốt, do đó bạn phải mở rộng swf của bạn mà bạn có thể gọi chức năng tìm kiếm của bạn từ javascript. giao diện bên ngoài là bạn của bạn: trong ActionScript/flash:

import flash.external.ExternalInterface; 

ExternalInterface.addCallback("methodName", this, method); 

function method() { trace("called from javascript"); } 

cuộc gọi này qua javascript

function callAS() { 
    swf.methodName(); 
} 
+0

Tôi đang sử dụng trình phát video flash cơ bản vào lúc này, tôi dự định sử dụng FlowPlayer hoặc JWPLayer v.v. Chỉ cần tìm hiểu cách móc chúng vào các sự kiện của tôi :) – JustAnotherDeveloper