0

私のページには、画像としてYouTubeビデオのサムネイルがあり、ユーザーが画像をクリックした後、prettyPhotoを使用してビデオを再生したいと思います。どうすればそれを達成できますか?

画像のコードは次のとおりです。

<div class="video" id="videoPlaceHolder" style="position:relative;">
  <a rel="prettyPhotos" href="https://www.youtube.com/embed/<?php getFirstFeatureVideoURL(); ?>">
    <img style="background:url(<?php getFirstFeatureVideoThumbnail() ?>); background-repeat:no-repeat; background-size:cover;  -moz-background-size: cover;" src="/images/ytIndex_overlay.png" onClick="addPlayer();" />
  </a>
</div>

php関数getFirstFeatureVideoURLは、最初のビデオの「正しい」URLを取得して返します(私はそれを個別にチェックし、ビデオは問題なく再生されます)。呼び出されるもう1つの関数getFirstFeatureVideoThumbnailは、ビデオのサムネイルを返します。私はすべてのプラグインの準備ができておりprettyPhoto、これまでのところ、すべての画像に対して完全に機能しています。ただし、画像をクリックしてこのビデオを再生しようとすると、エラーが発生します。

Image cannot be loaded. Make sure the path is correct and the image exists

なぜこのエラーが発生するのですか?

4

3 に答える 3

1

hrefURLである必要があります。そのようなURLにPHPコードを埋め込むことはできません。

于 2012-07-20T22:02:17.583 に答える
0

取得しようとしているサムネイルバージョンは何ですか。標準解像度のサムネイルまたは最大解像度のサムネイルを取得しようとしていると思います。このビデオIDには両方とも存在しません:Id_kGL3M5Cg

このツールを使用して、存在するかどうかを確認します:YouTubeビデオ情報ジェネレーター

結果が出ました。このビデオでは標準解像度のサムネイルを使用できません。この動画では、最大解像度のサムネイルは利用できません。

を使用して、画像が存在するかどうかを確認できますget_headers。このチュートリアルのコードのサムネイルセクションを確認してください:PHPでYouTubeビデオ情報を取得する方法

于 2013-12-15T07:31:19.950 に答える
-1

さて、私は最終的に次のようにPHP関数内に<a>タグと<img>タグを生成し、それで問題が修正されました。

function getFeatureVideo()
{
$xml = simplexml_load_file('https://gdata.youtube.com/feeds/api/playlists/A4F160EDF82713A2?v=2');
.
.
.
.
$media = $entry->children('http://search.yahoo.com/mrss/');

  $attrs = $media->group->player->attributes();
  $watch = $attrs['url'];

  $attrs = $media->group->thumbnail[1]->attributes();
  $thumbnail = $attrs['url'];

  $result .='<a rel="prettyVideos"  href="'.$watch.'">
                <img style="background:url('.$thumbnail.'); background-repeat:no-repeat; background-size:cover;  -moz-background-size: cover;" src="/images/ytIndex_overlay.png" onClick="addPlayer();" />
       </a> ';      

echo $result;                    
}
于 2012-07-25T19:53:38.857 に答える