2016-12-15 13 views
1

Загружаю UIWebView HTML-игру из локальных файлов. IOS 10,2/XCode 8/Swift 3Нет звука в UIWebView iOS10

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

Все, кажется, хорошо, но я не могу слышать звук на игре.

Открываю те же файлы (игры) с сервера localhost через браузер Safari Mobile, и звук кажется ОК. Поэтому я уверен, что файлы html/javascript & в порядке, и проблема связана с iOS.

Добавлен «Требуемые фоновые режимы» -> «Приложение воспроизводит аудио или потоки аудио/видео» в файле info.plist, но ничего не изменилось. На устройстве нет звука.

+0

Вы могли решить эту проблему? – thedp

+0

Наконец-то я решил, да. Для такой ситуации вы должны запустить приложение на локальном сервере. Я использовал GCDWebServer, и все прошло хорошо. – dejix

ответ

-1

Вы должны запустить эту строку перед webview.loadRequest(...)

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

К сожалению, ничего не изменилось, нет звука на устройстве – dejix

1

Я ответил на мой собственный вопрос только в случае, если кто имеет такую ​​же проблему. Я нашел решение, выполнив мое приложение на локальном сервере. Я использовал GCDWebServer, и все прошло нормально.

Не знаете, почему эта проблема была решена и решена таким образом, но я полагаю, что это вопрос безопасности «iOS» для iOS или чего-то подобного.

Эта post игра мне ответ.