我有一個視頻ID。然後我通過YouTube Player API的IFrame API顯示視頻。該視頻顯示,現在我需要IMMEDIATELY獲得此視頻的標題。如何在使用YouTube Player IFrame API時獲取視頻標題?
請注意,我需要IMMEDIATELY當我通過YouTube Player IFrame API顯示YouTube視頻時,會獲得視頻的標題。
什麼是最快獲取視頻標題的方法?我需要解決方案。
謝謝。
我有一個視頻ID。然後我通過YouTube Player API的IFrame API顯示視頻。該視頻顯示,現在我需要IMMEDIATELY獲得此視頻的標題。如何在使用YouTube Player IFrame API時獲取視頻標題?
請注意,我需要IMMEDIATELY當我通過YouTube Player IFrame API顯示YouTube視頻時,會獲得視頻的標題。
什麼是最快獲取視頻標題的方法?我需要解決方案。
謝謝。
這似乎是不可能的從播放器的IFrame API:
https://groups.google.com/forum/?fromgroups=#!topic/youtube-api-gdata/D0w8wA0UV7A
「沒有辦法使用玩家API來獲取這些信息你需要使用Data API」
檢查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;
}
}
這的確是有可能得到視頻標題
當調用您的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);
}
}
});
斯威夫特3
您可以使用YTPlayerState + Extension.swift
extension YTPlayerView {
var videoTitle: String {
let callString = "player.getVideoData().title"
return webView?.stringByEvaluatingJavaScript(from: callString) ?? "no title"
}
}
我想在2012年這可能不是已經可以背(?),但我認爲這應該是公認的答案! – ne1410s
這工作無縫,謝謝你的答案。 – breezy