1
私はそこにWKWebViewを持っています。そして私はjsで効果音を演奏しますが、私がそうするとき、バックグラウンドミュージックは停止します。私はSpotifyのようなバックグラウンドミュージックとこのサウンドエフェクトをミックスしています。WKWebviewのAVAudioSessionカテゴリを設定する
どうすればいいですか?
これは、私はこれが不可能であることを見出したViewController.swift
import WebKit
import AVFoundation
class ViewController: UIViewController, WKNavigationDelegate {
var webView: WKWebView!
override func loadView() {
webView = WKWebView()
webView.navigationDelegate = self
// Set so play inline works
let webConfiguration = WKWebViewConfiguration()
webConfiguration.allowsInlineMediaPlayback = true
if #available(iOS 10.0, *) {
webConfiguration.mediaTypesRequiringUserActionForPlayback = []
} else {
// Fallback on earlier versions
webConfiguration.mediaPlaybackRequiresUserAction = false
}
webView = WKWebView(frame: CGRect.zero, configuration: webConfiguration)
//super.init(coder: aDecoder)
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// Set so we can play sound effect without stop background music
// Get the local lang from iphone
var locale = Locale.preferredLanguages[0]
if (locale.contains("-")) {
locale = locale.substring(to: locale.characters.index(locale.startIndex, offsetBy: 2))
}
let url = URL(string: "https://test.com/?lang=" + locale)!
webView.load(URLRequest(url: url))
webView.allowsBackForwardNavigationGestures = true
// add background color to wkwebview to transparent
webView.backgroundColor = UIColor.clear
webView.scrollView.backgroundColor = UIColor.clear
// Change the statusbar to vit
UIApplication.shared.statusBarStyle = .lightContent
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}