5

YouTube ビデオを埋め込んでアプリで自動再生しようとしています。コードは iOS6 では動作しませんが、古い iOS 5 では完全に動作します。

私はこのようにします:

-(IBAction)playVideo:(id)sender {

myWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 400)];
myWebView.delegate = self;
[myWebView setAllowsInlineMediaPlayback:YES];
myWebView.mediaPlaybackRequiresUserAction=NO;

[myWebView loadHTMLString:[NSString stringWithFormat:@"<embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" width=\"300\" height=\"300\"></embed>", @"http://www.youtube.com/watch?v=TbsXUJITa40"] baseURL:nil];

}

- (UIButton *)findButtonInView:(UIView *)view {
UIButton *button = nil;

if ([view isMemberOfClass:[UIButton class]]) {
    return (UIButton *)view;
}

if (view.subviews && [view.subviews count] > 0) {
    for (UIView *subview in view.subviews) {
        button = [self findButtonInView:subview];
        if (button) return button;
    }
}
return button;
}

-(void)webViewDidFinishLoad:(UIWebView *)webView {

UIButton *b = [self findButtonInView:webView];
[b sendActionsForControlEvents:UIControlEventTouchUpInside];
}

そのため、webview が読み込まれると、uibutton が自動的に検出され、ビデオが開始されます。iOS 6 でこの方法が機能しなくなった理由がわかりません。ビデオをロードしますが、何も表示されません...

誰でも私を助けることができますか?私はそれを解決しようとするのに夢中になっています...

4

2 に答える 2

4

答えが遅すぎないことを願っていますが、iOSでは単純に不可能です. Apple がドキュメントで述べているように: https://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/AudioandVideoTagBasics/AudioandVideoTagBasics.html

ユーザーの費用負担によるセルラー ネットワーク経由での一方的なダウンロードを防ぐため、iOS の Safari では埋め込みメディアを自動的に再生できません。常にユーザーが再生を開始します。iPhone または iPod touch では、再生が開始されるとコントローラが自動的に提供されますが、iPad の場合は、controls 属性を設定するか、JavaScript を使用してコントローラを提供する必要があります。

上記のリンク先のドキュメントは一般的な Safari 向けであり、iOS 固有ではないことに注意してください。私にとって、これは最初に読んだとき、気がつくまで混乱していました。

残念ながら、今のところ iOS では動作しません。

于 2013-04-24T10:26:51.463 に答える
4

JS コマンドを使用する必要があります。このリンクが役立ちます。

于 2012-11-07T23:52:02.160 に答える