ストーリーボード オブジェクトとこのコードを使用して、Objective-C で UIWebView を作成しました。
[videoView setDelegate:self];
NSString *preURL = @"http://example.com/videoscript.php";
NSString *fullURL = [preURL stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[videoView loadRequest:requestObj];
WebView は、このコンテンツへのリンクを開きます
<head>
<script src="http://www.youtube.com/player_api?enablejsapi=1&version=3"></script>
<script language="javascript">
//Load player api asynchronously.
//var tag = document.createElement('script');
//tag.src = "https://www.youtube.com/iframe_api";
// var firstScriptTag = document.getElementsByTagName('script')[0];
//firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
//var done = false;
//var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '100%',
width: '100%',
videoId: 'JW5meKfy3fY',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
},
playerVars: {
'controls': '0',
'showinfo': '0',
'showsearch': '0',
'loop': '1',
'embedjsapi': '1',
'qutoplay': '1'
}
});
}
function onPlayerReady(evt) {
evt.target.playVideo();
}
function onPlayerStateChange(evt) {
}
function stopVideo() {
player.stopVideo();
}
</script>
</head>
ややこしいのは、スクリプトはデスクトップ ブラウザでは問題なく機能しますが、iOS の Safari と UIWebView では機能しないことです。これはAdobe Flash Playerの問題の欠如だと思いますが、javascriptを使用してiFrameを作成することは、実際のタグを使用することと同じだと思いましたか? タグを使用する場合、これは機能しますが、その方法はオプションではありません。私の質問は、iFrames を直接ではなく、Javascript を使用して HTML5 YouTube プレーヤーを埋め込む方法はありますか?