【问题标题】:No sound on UIWebView iOS10UIWebView iOS10没有声音
【发布时间】:2017-05-01 11:16:05
【问题描述】:

我在 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 有关。

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

【问题讨论】:

  • 你能解决这个问题吗?
  • 我终于解决了,是的。对于这种情况,您必须在本地服务器上运行应用程序。我使用了 GCDWebServer,一切正常。

标签: ios iphone swift uiwebview


【解决方案1】:

你应该在webview.loadRequest(...)之前运行这一行

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)

【讨论】:

  • 不幸的是,没有任何变化,设备上没有声音
【解决方案2】:

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

不知道为什么会出现这个声音问题并通过这种方式解决,但我想这是 iOS 上的 javascript“安全性”或类似问题。

这个post给我答案。

【讨论】:

    猜你喜欢
    • 2017-03-06
    • 2017-03-31
    • 2016-03-10
    • 1970-01-01
    • 2017-03-16
    • 2017-10-19
    • 2021-04-22
    • 2016-05-06
    • 1970-01-01
    相关资源
    最近更新 更多