2016-11-30 3 views
0

Попытка добавить WKAudiovisualMediaTypeNone в mediaTypesRequiringUserActionForPlayback для WKWebview. Но я не могу заставить его работать.Ошибка При использовании «WKAudiovisualMediaTypeNone» в Swift 3

Ошибка

"Использование неразрешенного идентификатора" WKaudiovisualMediaTypeNone"

в этом контексте

required init?(coder aDecoder: NSCoder) { 
    let webConfiguration = WKWebViewConfiguration() 
    webConfiguration.allowsInlineMediaPlayback = true 
    webConfiguration.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeNone; // Error getting here 
    self.webView = WKWebView(frame: CGRectZero, configuration: webConfiguration) 
    super.init(coder: aDecoder) 
} 

Пожалуйста, помогите

ответ

1

Нет опции с .None. Если вы не хотите, чтобы передать все, что вы можете пойти ниже код:

let webConfiguration = WKWebViewConfiguration() 
webConfiguration.allowsInlineMediaPlayback = true 
if #available(iOS 10.0, *) { 
    webConfiguration.mediaTypesRequiringUserActionForPlayback = [] 
} else { 
    // Fallback on earlier versions 
    webConfiguration.mediaPlaybackRequiresUserAction = false 
} 
self.webView = WKWebView(frame: CGRectZero, configuration: webConfiguration) 
+0

Спасибо! Я видел, что это работает только в iOS10, есть ли способ сделать эту работу в версии до iOS10? – user2673664

+0

У меня ошибка на «mediaTypesRequiringUserActionForPlayback = .all», в которой говорится: «Тип« WKAudiovisualMediaTypes »не имеет статуса« все » – user2673664

+0

@ user2673664' Swift' версия? –

2
webConfiguration.mediaTypesRequiringUserActionForPlayback = [] 

Apple, Doc

https://developer.apple.com/documentation/webkit/wkaudiovisualmediatypes

Чтобы указать, что никакие жесты пользователя не требуется для воспроизведения мультимедиа , используйте пустой набор типов аудио/визуальных носителей, обозначенных литералом пустого массива, []. Например, пусть myAudiovisualMediaType: WKAudiovisualMediaTypes = [].

Смежные вопросы