7

WebView でビデオ ファイルを再生するサービスを実装しています。UIWebView から WKWebView に移行し、Youtube と Coub の動画を再生しようとしました。ほとんどすべて問題なく、iOS 8 ではクラッシュしませんでしたが、WKWebView が解放されて画面から削除された後、ビデオ サウンドがしばらく再生され続けます (場合によっては約 45 秒)。

ビデオの音を止める方法が見つかりません。メディア プレーヤーでシステム通知をキャッチしようとしましたが、成功しませんでした。

WKWebView でサウンドまたはビデオを停止する方法はありますか?

WKWebview の構成は次のとおりです。

//javascript for configurate video viewport (not full screen)
NSString *jScript = [NSString stringWithFormat:@"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=%d, height=%d, initial-scale=1, maximum-scale=1'); document.getElementsByTagName('head')[0].appendChild(meta);", (int)VIEW_WIDTH, (int)VIEW_HEIGHT ];

WKUserScript *wkUScript = [[WKUserScript alloc] initWithSource:jScript injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
WKUserContentController *wkUController = [[WKUserContentController alloc] init];
[wkUController addUserScript:wkUScript];

WKWebViewConfiguration *config    = [WKWebViewConfiguration new];
config.mediaPlaybackAllowsAirPlay = YES;
config.userContentController      = wkUController;

_wkWebView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, VIEW_WIDTH, VIEW_HEIGHT) configuration:config];
[_wkWebView setBackgroundColor:RGB(0x0a0a0a)];
[_wkWebView setNavigationDelegate:self];
[self insertSubview:_wkWebView atIndex:0];
4

3 に答える 3

10

空白のページを読み込むことができます[NSURL URLWithString:@"about:blank"]

おそらくもっと良い解決策がありますが

更新: iOS 8.3 で修正

于 2014-12-10T20:57:36.410 に答える