我正在开发一个应用程序,可以使用 Swift 中的 WKWebView 访问网页。该网络开始自动播放声音。我不想让自动播放声音。我想使用类似 mediaPlayBackRequieresUserAction = true
的东西,但它不适用于 WKWebView。
我正在尝试类似的东西
webConfiguration.mediaTypesRequiringUserActionForPlayback = []
webConfiguration.mediaTypesRequiringUserActionForPlayback = .all
webConfiguration.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeAll
但它不起作用,Xcode 向我显示:
Cannot assign value of type '[WKAudiovisualMediaTypes].Type' to type 'WKAudiovisualMediaTypes'
自动发出音频声音的元素是:
<audio src="audio/alarm.mp3" preload="auto" loop="true" class="alarm mp3" type="audio/mp3"></audio>
<audio src="audio/alarm2.mp3" preload="auto" loop="true" class="urgent alarm2 mp3" type="audio/mp3"></audio>
这是我的 WKWebView 代码:
import UIKit
import WebKit
class WidgetViewController: UIViewController, WKNavigationDelegate, WKUIDelegate {
var webView : WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://danfg95glucose.azurewebsites.net/")
let request = URLRequest(url: url!)
let webConfiguration = WKWebViewConfiguration()
webConfiguration.allowsInlineMediaPlayback = false
webConfiguration.mediaTypesRequiringUserActionForPlayback = []
webView = WKWebView(frame: CGRect( x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height - 500 ), configuration: webConfiguration)
webView.navigationDelegate = self
webView.load(request)
self.view.addSubview(webView)
}
}
抱歉我的错误,我是新人,正在学习编程。非常感谢您的每一个回复。
最佳答案
您只需设置一次 mediaTypesRequiringUserActionForPlayback 。这应该可行。
webConfiguration.mediaTypesRequiringUserActionForPlayback = .all
您可以将其限制为仅音频
webConfiguration.mediaTypesRequiringUserActionForPlayback = .audio
关于ios - mediaTypesRequiringUserActionForPlayback 无法工作 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48504127/