UIWebView iOS10上没有声音

时间:2016-12-15 18:40:42

标签: ios iphone swift uiwebview

我在UIWebView上加载来自本地文件的HTML游戏。 iOS 10.2 / XCode 8 / Swift 3

    override func viewDidLoad() {
        super.viewDidLoad()
            if let path = Bundle.main.path(forResource: "index", ofType: "html", inDirectory: "game") {
            webView.loadRequest(URLRequest(url : URL(fileURLWithPath: path)))
        }
    }

一切似乎都很好,但我在游戏中听不到任何声音。

我通过Mobile的Safari浏览器从localhost服务器打开相同的文件(游戏),声音似乎没问题。所以我确定html / javascript文件&连接正常,问题与iOS有关。

添加了“必需的背景模式” - > “app播放音频或流音频/视频”在info.plist中,但没有任何改变。设备上没有声音。

2 个答案:

答案 0 :(得分:1)

您应该在webview.loadRequest(...)

之前运行此行
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)

答案 1 :(得分:1)

我回答我自己的问题以防有人遇到同样的问题。我通过在本地服务器上运行我的应用程序找到了解决方案。我使用了GCDWebServer,一切都很顺利。

不确定为什么会发生这个声音问题并通过这种方式解决,但我认为这是javascript"安全"在iOS或类似的东西上。

这个post游戏给我答案。