Ich habe einen chromfreien YouTube-Player, in den ich Videos laden möchte, aber nur einige Videos funktionieren - nicht alle. Wenn ich mich nicht irre, sind diejenigen, die nicht geladen werden, aufgrund einer Urheberrechtsverletzung (z. B. wird eine Episode eines Zeichentrickfilms nicht geladen, sondern ein Heimfilm eines Kindes, der einen Rückwärtssalto macht). Was ich versuche, ist entweder herauszufinden, ob diese Videos geladen werden können oder nicht, entweder nachdem wir sie geladen haben oder vorher.Wie kann ich feststellen, ob ein YouTube-Video eingebettet werden kann, bevor ich es versuche und lade?
Als Beispiel, hier sind zwei Videos von Nataly Dawn. Der eine lädt, der andere nicht.
// loads and plays the video
ytplayer.loadVideoById("GhDGdT33K0k");
// doesn't load/play the video
ytplayer.loadVideoById("-KYUPJIzCyM");
von beiden the working video bei den Daten suchen und die non-working video, kann ich nicht scheinen, nichts zu sehen, dass dieser nicht-integrierbare anzeigen würde. [Ich suche nach <yt:accessControl>
Tags oder eine fehlende yt:format='5'
(vgl How do I use the Youtube API to check if a video is embeddable?), aber ohne Erfolg.]
Von dem, was ich in der Konsole versucht haben, loadVideoById
immer kehrt undefined
, unabhängig davon, ob Nicht das Video lädt tatsächlich. Ich kann anscheinend keine API-Methode finden, um zu bestimmen, ob das Video dies getan hat oder nicht.
Beide Videos, die Sie zu sein scheinen belastbar und spielbar erwähnt. Verwenden Sie zum Beispiel: http://code.google.com/apis/ajax/playground/#change_the_playing_video – mjhm
Google Playground spielt manchmal Videos, die nicht eingebettet werden können, z. B. qvr6K02dglc. Sie können versuchen, es in eine lokale HTML-Datei auf Ihrer Festplatte einzubetten. –