如何在我的应用程序中使用WKWebView自动播放视频

3

我正在使用wkwebview来展示我的网站,但是我的网站有一个视频。当网站被展示时,视频无法自动播放。是否有任何方法可以让视频自动播放?


yourWebView.configuration.requiresUserActionForMediaPlayback = NO; https://developer.apple.com/library/ios/documentation/WebKit/Reference/WKWebViewConfiguration_Ref/index.html#//apple_ref/occ/instp/WKWebViewConfiguration/requiresUserActionForMediaPlayback - Muhammad Zohaib Ehsan
我有这段代码,但它不起作用。 - wang
我的应用程序在iPad上运行。iOS版本为8.3。 - wang
嗨,我也是使用wkwebview,但它不起作用。你最终是如何解决这个问题的?谢谢! - RainCast
2个回答

1

以下函数对于我来说在支持自动播放方面非常有效。

- (void)loadwebViewToPlay {

    NSString * videoHtml = @"<html><head><style>body{margin:0px 0px 0px 0px;}</style></head> <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 player; function onYouTubePlayerAPIReady() { player = new YT.Player('player', { width:'200', height:'200', videoId:'bHQqvYy5KYo', events: { 'onReady': onPlayerReady } }); } function onPlayerReady(event) { event.target.playVideo(); } </script> </body> </html>";

    UIWebView * webview = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
    webview.backgroundColor = [UIColor clearColor];
    webview.opaque = NO;
    //videoView.delegate = self;
    [self.view addSubview:webview];
    webview.mediaPlaybackRequiresUserAction = NO;

    [webview loadHTMLString:videoHtml baseURL:[[NSBundle mainBundle] resourceURL]];

}

如需更多帮助,您可以参考iframe_api_reference 或者 player_parameters


1
yourWebView.configuration.requiresUserActionForMediaPlayback = NO; 是正确的。 - wang
2
但问题不是关于UIWebView而是WKWebView吗? - Daniel Molina

0

仅在iOS 9.0、10.0中使用mediaTypesRequiringUserActionForPlayback。 参考: @property (nonatomic) BOOL requiresUserActionForMediaPlayback API_DEPRECATED_WITH_REPLACEMENT("mediaTypesRequiringUserActionForPlayback", ios(9.0, 10.0));


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接