私はSamsungSmartTVアプリケーションを作成しています。YouTubeの動画を再生する必要があります。誰かがこれを行う方法を知っていますか?youtube js apiを試しましたが、関数playVideo()
が実行されているときに、ビデオの読み込みが開始されますが、再生されません。私はSamsungSmartTV 2012を持っているので、SDKは3.5です
2 に答える
まず、YouTubeビデオがモバイルデバイスへのアクセスを許可しているかどうかを確認します。
次に、そのビデオの広告を無効にする必要があります。広告付きのビデオはTVデバイスではまだ機能しないためです。
特に一部のプレーヤーイベントにバインドする場合は、playVideo()の後でビデオの再生を開始するのに時間がかかることがあるため、30分または1分待つようにしてください。
これで問題が解決しない場合は、ここにコードを貼り付けてください。YouTubeの埋め込みとJSの呼び出しがあれば、サポートさせていただきます。
編集
Samsungドキュメントのようにフラッシュ埋め込みを使用してみてください。
ムービーパラメータとして、srcをYouTubeAPIプレーヤーに渡します。
<object type="application/x-shockwave-flash" id="playerObject">
<param name="movie" value="http://www.youtube.com/apiplayer?&enablejsapi=1"></param>
<param name="allowScriptAccess" value="always"></param>
<param name="allowFullScreen" value="true"></param>
<param name="wmode" value="transparent"></param>
</object>
そして、この方法を使用します。
var ytPlayer = null;
function onYouTubePlayerReady() {
ytPlayer = document.getElementById('playerObject');
if (ytPlayer) {
ytPlayer.addEventListener('onStateChange','onChange');
ytPlayer.addEventListener('onError', 'onError');
ytPlayer.cueVideoById('i4iDWXstrWY'); //load video for play http://www.youtube.com/watch?v=i4iDWXstrWY
} else {
alert("error");
}
}
function onChange(newState) {
//Possible values are unstarted (-1), ended (0), playing (1), paused (2), buffering (3), video cued (5)
switch (newState) {
case 5:
ytPlayer.playVideo();
break;
}
function onError(errorCode) {
alert(errorCode);
}
プレーヤーの準備ができると、APIはコールonYouTubePlayerReady
バック関数を呼び出します。私はあなたの解決策であなたがcueVideoById
方法を逃していると思います。YTAPIドキュメントで述べられているように
現在キュー/ロードされているビデオを再生します。
あなたが私のものと競合するアプリを作ることができるので、私は本当にあなたたちにこれを言うべきではありません...しかしサムスンへの欲求不満から私はあなたに言います:ウェブサーバー上のウェブページとしてただひどいものをホストするだけです(好きなYouTubeAPIを使用するか、APIを使用せず、ページの読み込み時に埋め込みコードを変更するだけです)、クエリ文字列引数を使用して再生するビデオを制御し、SamsungSmartTVアプリにiFrameします。ウェブページではないアプリに埋め込もうとすると、YouTubeには厳しい埋め込み制限があります。そのため、ウェブページに固執してから、アプリにウェブページを貼り付けてください。
これは、Webブラウザで実行する必要があるSamsungSmartTVのアプリ内コンテンツに使用する一般的なアーキテクチャです。Samsungブラウザーは、FlashもサポートするHTML5ブラウザーであることに恵まれています。Samsung Smart TVアプリでは、セキュリティ制限なしでWebコンテンツのIFramingが可能です。2と2を組み合わせると、これらの栄光のトースターでほとんど何でもできます...これらのIFrameをアンロードすることを忘れないでください(JQueryを使用してSRC属性を ""に設定するのが適切な方法です)。シーンを変更するのは、シーンがアンロードされず、これらのTVのRAMが非常に少ないためです。
楽しんでください:)