WKWebView не воспроизводит аудио - PullRequest
0 голосов
/ 01 июля 2019

Я устанавливаю WKWebView, но здесь веб-код содержит аудиокод, который не работает в WKWebView. Я использую iPad Mini от iOS версии 12.3.1

вот код бэкэнда: -

<audio id="alertSound" preload="auto">
  <source src="sound/music-box.mp3" type="audio/mpeg" />
  <source src="sound/music-box.wav" type="audio/x-wav" />
</audio>

А это моя реализация iOS на стороне

    func initWebView() {

    let preference = WKPreferences()
    preference.javaScriptEnabled = true

    let configuration = WKWebViewConfiguration()
    configuration.preferences = preference
    configuration.allowsInlineMediaPlayback = true
    configuration.allowsAirPlayForMediaPlayback = true
    configuration.allowsPictureInPictureMediaPlayback = true
    configuration.mediaTypesRequiringUserActionForPlayback = []


    self.wkWebView = WKWebView.init(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height), configuration: configuration)
    self.wkWebView.contentMode = .scaleAspectFit
    self.wkWebView.allowsLinkPreview = true
    self.wkWebView.allowsBackForwardNavigationGestures = false
    self.webContentView.addSubview(self.wkWebView)
}

Ожидаемый результат - автоматическое воспроизведение звука при вызове пользователя из приложения с помощью WKWebView

.

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

Ваш код iOS верен, нужно только добавить атрибут "autoplay = true" в звуковую метку, после чего аудио начнет воспроизводиться автоматически. Пожалуйста, смотрите код ниже.

 <audio autoplay="true">
        <source src="music-box.mp3" type="audio/mpeg" />
 </audio>
0 голосов
/ 01 июля 2019

Я думаю, что это не изменится, iOS нужно щелкнуть пользователя, если нужно воспроизвести аудио.Не могу автоматически воспроизводить аудио.

...