2014-05-14 42 views
5

Tôi hiện đang sử dụng API You-Tube cho dự án của tôi. Con đường tôi sử dụng nó như sau:Youtube API Đặt thời gian hiện tại

var tag = document.createElement('script'); 
    tag.src = "https://www.youtube.com/iframe_api"; 
    var firstScriptTag = document.getElementsByTagName('script')[0]; 
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

// 3. This function creates an <iframe> (and YouTube player) 
// after the API code downloads. 
var player; 
var alternatePlayer; 
function onYouTubeIframeAPIReady() { 
    player = new YT.Player('player', { 
     height: '390', 
     width: '640', 
     videoId: 'M7lc1UVf-VE', 
     events: { 
      'onReady': onPlayerReady 
     } 
    }); 

} 

// 4. The API will call this function when the video player is ready. 
function onPlayerReady(event) { 
    event.target.playVideo(); 
} 

Tất cả đều hoạt động tốt, nhưng đối với dự án của tôi, tôi cần để có thể kiểm soát thời gian hiện tại mà đoạn video đang phát. Tôi đã tìm kiếm ghi chú và dữ liệu API You-Tube nhưng không thể tìm thấy thông số và chức năng cho phép tôi đặt thời gian hiện tại của video (Có GET cho thời gian hiện tại nhưng không phải là tập hợp). Có một tham số startseconds mà khi được đề cập trong việc tạo youtube (tôi có nghĩa là gần các tham số chiều cao, chiều rộng, videoId) có thể kiểm soát những gì thứ hai video bắt đầu từ. Điều này không phù hợp với nhu cầu của tôi vì tôi cần thay đổi thời gian hiện tại của video CÙNG và không tải video khác. Có cách nào để khắc phục điều này? Tôi có thiếu chức năng cài đặt này không? Tôi có phải nhớ lại cùng một videoId với startseconds không? Cảm ơn rất nhiều trước vì bất kỳ ánh sáng nào về vấn đề đó.


EDIT: OK, tôi đã tìm ra giải pháp theo một cách kỳ lạ. Vì lý do nào đó, tôi không thấy nó được đề cập trên API You-Tube.

player.seekTo(55,true); 

Mã này sẽ thay đổi trình phát ống bạn thành 55 giây, là SET cho thời điểm hiện tại. Cảm ơn mọi người vì đã dành thời gian của bạn.

+0

Không biết API chính xác. Hãy xem thêm trong Thư viện Javascript nguồn mở, cung cấp hỗ trợ youtube. (Thanh trượt vv). Đoán của tôi nhanh chóng và dơ bẩn là tải lại khung với tham số starteconds đã thay đổi, nhưng không tốt. –

+0

Cảm ơn nhận xét. Tôi đã tìm kiếm nhưng không có bất kỳ may mắn cho đến nay .. – Oranges

Trả lời

7

Hãy xem vào các tài liệu sau:

Trước tiên, bạn cần có một tài liệu tham khảo JS đến đối tượng Player. Đối với một sự khởi đầu nhanh chóng, xin hãy nhìn vào những câu dưới đây:

Với thông tin này bạn có thể làm:

player.seekTo(42); //Go to 42 seconds 
+0

Cảm ơn bạn rất nhiều, tôi may mắn tìm thấy giải pháp trước khi bạn. Đã chấp nhận câu trả lời của bạn! – Oranges

+0

Vâng, đã thấy nó :) Bắt đầu tìm giải pháp khi bạn viết bình luận cuối cùng. Dù sao, tôi sẽ cần điều này một mình trong một thời gian ngắn: D –

Các vấn đề liên quan