web-dev-qa-db-ja.com

完了後、ビデオ投稿を次の投稿にリダクションする

ビデオ投稿を、カテゴリが終了した後、そのカテゴリ内の次のビデオ投稿にリダイレクトするようにします。私はYouTubeの動画と直接アップロードした動画の両方を使用しています。どちらも秒単位で動画を再生する方法を既に知っています。目標を達成するためにそれらをどのように使用できますか?

5
Pollux Khafra

前の注意

あなたが求めているのは、非常に複雑なことです。

  1. WP internalデータの終了後に次の投稿を読み込む
  2. YouTubeプレーヤー(JavaScriptまたはActionScript)の終了後に次の投稿を読み込む

問題はリダイレクトではありません 1)しかし、次の投稿をいつどのようにロードするのかを知りたいのですが。

1)実際には(/ imho)これがajaxのロードであり、現在の記事の代わりになるはずです。

YouTube API

あなたはビデオが単純なJavaScriptリスナーで終わっているかどうかを確認できます

player.getPlayerState()

利用可能な戻り値:

-1 // unstarted
0 // ended
1 // playing
2 // paused
3 // buffering
5 // video cued

Google-YouTubeAPI機能へのリンクはこちら

簡単なスタートとして:a)プレイヤーの状態が変化したときにそれをキャッチするリスナーを用意する必要があります。b)ajax呼び出しを起動する必要があります。

Ajax呼び出しは、(たとえば)プレーヤーの親divの内容を再ロードするための単純なワードプレスのデフォルト呼び出しです。 WPがajaxリクエストを処理する方法がわからない場合は、ページ上の ajax アーカイブを検索してください。

// Example for the listener
// player is the var that holds your player - you'll need to set it
jQuery( player ) .on(
     'onStateChange'
    ,function( ev )
     {
        if ( 0 === ev )
        {
            // Perform the ajax next post load here
        }
     }
);

内部(あなたが個人的にホストしている)ビデオ

これが本当の問題です。 YouTubeプレーヤーと同じ機能を提供するプレーヤーが必要です。ビデオの再生が終了したときにステータスの変更を取得する可能性。これはプレイヤーに大きく依存しており、現時点ではお勧めできません。

あなたのチャンス!

クロムレスプレイヤー用の"JavaScript APIがあります。 YouTube APIからの引用:

アプリケーションがクロムレスプレーヤを使用している場合は、次のURLを使用してプレーヤをアプリケーションにロードし、プレーヤでJavaScript APIハンドラを有効にします。その後、JavaScriptを使用して独自のカスタムプレーヤーコントロールを構築できます。

YouTubeからの最後のメモ。

Flashプレーヤーはローカルファイルとインターネット間の通話を制限するため、これらの通話をテストするには、ファイルをWebサーバー上で実行する必要があります。

5
kaiser