在初始化?WKWebViewConfiguration 的時(shí)候 添加下面的代碼辅斟! 我這邊是解決了国章!
WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
? ? if(@available(iOS10.0, *)) {
? ? ? ? config.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeNone;
? ? }else{
? ? ? ? // Fallback on earlier versions
? ? }
? ? config.allowsInlineMediaPlayback = YES;
? ? // 自動(dòng)播放, 不需要用戶采取任何手勢開啟播放
? ? // WKAudiovisualMediaTypeNone 音視頻的播放不需要用戶手勢觸發(fā), 即為自動(dòng)播放
? ? config.allowsAirPlayForMediaPlayback = YES;
? ? config.allowsPictureInPictureMediaPlayback = YES;
? ? //? ? ? ? 自定義的WKScriptMessageHandler 是為了解決內(nèi)存不釋放的問題
? ? MWebViewScriptMessageDelegate *weakScriptMessageDelegate = [[MWebViewScriptMessageDelegate alloc] initWithDelegate:self];
? ? //這個(gè)類主要用來做native與JavaScript的交互管理
? ? WKUserContentController * wkUController = [[WKUserContentController alloc] init];
? ? //? ? ? ? 注冊一個(gè)name為jsToOcNoPrams的js方法 設(shè)置處理接收J(rèn)S方法的對象
? ? NSError*error;
? ? [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error];
? ? if(error) {
? ? ? ? NSLog(@"Error in setting category = %@", error);
? ? ? ? //handle error here.
? ? }
? ? [[AVAudioSession sharedInstance] setActive:YES error:&error];
? ? if(error) {
? ? ? ? NSLog(@"Error in activating session = %@", error);
? ? ? ? //handle error here.
? ? }