これが可能であることを願っています。UIWebView
アプリの 内に YouTube ビデオを埋め込みました。私はstringByEvaluatingJavaScriptFromString
javascriptを使用するためのアプローチを使用しています。アプリのボタンを押して YouTube 動画の再生を開始したい。ここに、私が言おうとしていることの概要を示すコードをいくつか示します。
埋め込み機能:
- (void)embedVideo:(NSString *)urlString frame:(CGRect)frame {
NSString *embedHTML = @"\
<html><head>\
<style type=\"text/css\">\
body {\
background-color: transparent;\
color: white;\
}\
</style>\
</head><body style=\"margin:0\">\
<embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
width=\"330\" height=\"200\"></embed>\
</body></html>";
NSString *html = [NSString stringWithFormat:embedHTML, urlString];
videoView = [[UIWebView alloc] initWithFrame:frame];
[videoView loadHTMLString:html baseURL:nil];
[self.detailedView addSubview:videoView];
}
ハンドラー内を修正します。
-(IBAction)detailedWatchTUI:(id)sender
{
[videoView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = \"function start() { "
"var player = document.getElementById('yt');"
"player.play();"
"}\";"
"document.getElementsByTagName('head')[0].appendChild(script);"];
[videoView stringByEvaluatingJavaScriptFromString:@"start();"];
}
要素プレーヤーにアラートを出すことができ、埋め込まれた HTML オブジェクトが検出されるため、javascript が機能していることはわかっていますが、再生を開始できません。player.playVideo();を試しました。とplayer.play(); 運がない。
助言がありますか?