2012-11-07 230 views
1

我有一個視頻ID。然後我通過YouTube Player API的IFrame API顯示視頻。該視頻顯示,現在我需要IMMEDIATELY獲得此視頻的標題。如何在使用YouTube Player IFrame API時獲取視頻標題?

請注意,我需要IMMEDIATELY當我通過YouTube Player IFrame API顯示YouTube視頻時,會獲得視頻的標題。

什麼是最快獲取視頻標題的方法?我需要解決方案。

謝謝。

回答

0

檢查onStateChange事件中未啓動和正在播放的狀態。我用這個解決方案,也許不是最好的,但工作正常。

var info = null; 
    function onStateChange(e) 
    { 
     switch(e.data) { 
     case YT.PlayerState.UNSTARTED: 
      info = null; 
      break; 
     case YT.PlayerState.PLAYING: 
      if(info == null) 
      { 
       info = {title: player.getVideoData().title, duration: player.getDuration()}; 
       // use info here... 
      } 
      break; 
     } 
    } 
7

這的確是有可能得到視頻標題

當調用您的YouTube播放器API的iframe API「,onready您可以訪問」event.target.getVideoData()。標題 「功能:

new YT.Player('player', { 
height: '390', 
width: '640', 
videoId: 'D3pYbbA1kfk', 
events: { 
    'onReady': function onPlayerReady(event) { 
    alert("The video title is: " + event.target.getVideoData().title); 
    } 
} 
}); 

全部工作示例:https://codepen.io/anon/pen/vGOzqy?editors=0010

+0

我想在2012年這可能不是已經可以背(?),但我認爲這應該是公認的答案! – ne1410s

+1

這工作無縫,謝謝你的答案。 – breezy

0

斯威夫特3

您可以使用YTPlayerState + Extension.swift

extension YTPlayerView { 
    var videoTitle: String { 
     let callString = "player.getVideoData().title" 
     return webView?.stringByEvaluatingJavaScript(from: callString) ?? "no title" 
    } 
} 
相關問題