アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になります。

iPhoneアプリでyoutubeの連続再生をする方法を探しているのですが
見つけられずに困っております。

下記URL(Method 2: Embed the YouTube player in a UIWebViewの方)
http://apiblog.youtube.com/2009/02/youtube-apis- …
を参考に、1つの動画の再生は出来るようになりました。

これを複数の動画を連続で再生させる方法をご存知の方
どなたかご教授頂けませんでしょうか。

よろしくお願い致します。

A 回答 (2件)

そこまでできているのでしたら、そのHTMLにJavascriptを追加して、


Javascriptで終了検出と次の動画再生を行えばいいんじゃないでしょうか?

具体的には、このへんが参考になりそうです。
http://d.hatena.ne.jp/koba04/20110227/1298736386

未確認ですが、面白そうなのでもしu_713さんが動かなかったら
僕もやってみます。

この回答への補足

返信が遅くなって申し訳ありません。
ご回答ありがとうございました。

参考に頂いたサイトは、私も試してみていました。
普通にWEB上でHTMLでは確かに再生は出来ているのですが
UIWebViewでその再生出来ているページを表示させても、動画自体が再生されませんでした。
(動画エリア自体表示されない。swfobjectを使っているからFLASHは表示されないから(?))

また、<object>タグで動画を表示させて
javascriptで制御出来ないかと試してみたのですが
onYouTubePlayerReady
も動きませんでした。

また、下記のサイトを参考にして動画を再生させようとしたのですが、それもダメでした。
http://tsuyobi.heteml.jp/movie/youtube_control/

大変お手数ではございますが、ご一緒に考えて頂けると助かります。

宜しくお願い致します。

補足日時:2011/08/28 22:57
    • good
    • 0

返信が遅くなっちゃってすみません。


私が最初に提示した方法はSWF埋め込みが前提っぽくて、iphoneでは正しく動作しないみたいですね。

幸い今年になってからiFrame経由で問題が回避できるようになったようです。
参考:
http://googledevjp.blogspot.com/2011/01/iframe-y …

ここのサイトを参考に、以下のように埋め込むHTMLを作ったところ、うまく動作しました。
以下の例ではID=x240jgXnHfsの動画(15秒)が再生された後にID=dXD-KzMzcQIの動画(60秒)が再生されます。
あとはonPlayerStateChangeハンドラをうまく作り込んでやれば、複数動画の連続再生が可能だと思います。
僕も勉強になりました。
僕もコレでなにかアプリ書いてみますね。


NSString *htmlString = @"<!DOCTYPE HTML>\
<html>\
<body> \
<div id='player'></div>\
<script> \
var tag = document.createElement('script'); \
tag.src = 'http://www.youtube.com/player_api'; \
var firstScriptTag = document.getElementsByTagName('script')[0]; \
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); \
var done = false; \
var player;\
function onYouTubePlayerAPIReady() { \
player = new YT.Player('player', {\
height: '390',\
width: '640', \
videoId: 'x240jgXnHfs', \
events: { \
'onReady': onPlayerReady, \
'onStateChange': onPlayerStateChange \
} \
});\
}\
function onPlayerReady(evt) {\
}\
function onPlayerStateChange(evt) { \
if(evt.data == YT.PlayerState.ENDED){\
player.loadVideoById('dXD-KzMzcQI');\
}\
}\
function stopVideo() {\
player.stopVideo();\
}\
</script>\
</body> \
</html>";


# ちなみに、最初の動画がうまく自動再生できなかったんですよねぇ…。上記サンプルは
# 最初に指でタップすると始まります。
# ご質問自体には回答できていると思いますので、1つ目の自動再生については研究してみてください。
    • good
    • 0
この回答へのお礼

なるほど!
iFrame経由で解決出来るとは。

自動再生の方は、私の方でも調べてみます。

ご教授頂き、大変助かりました。
ありがとうございました。

お礼日時:2011/09/06 21:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!