アプリの審査を落ちてしまいました。
ipodも持っていませんし、何か教えていただければ嬉しいです。
自分のiphoneではバックグラウンド時はミュートできますし、今まで同じコードで何本かアプリをリリースしてきましたが、下記のような現象が起きた事もないです。
ガイドライン2.1-パフォーマンス-アプリの完全性
アプリに1つ以上のバグが見つかりました。 具体的には、バックグラウンドミュージックをミュートできませんでした。
以下の詳細を確認して、次の手順を完了してください。
デバイスの詳細を確認します。
-デバイスタイプ:iPad
-OSバージョン:iOS 14.2
import Foundation import SpriteKit import AVFoundation private let JKAudioInstance = JKAudioPlayer() open class JKAudioPlayer { var musicPlayer: AVAudioPlayer! var soundPlayer: AVAudioPlayer! static var canShareAudio = false { didSet { if #available(iOS 10.0, *) { canShareAudio ? try! AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.ambient, mode: .default) : try! AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.soloAmbient, mode: .default) } else { // Fallback on earlier versions } } } open class func sharedInstance() -> JKAudioPlayer { return JKAudioInstance } open func playMusic(_ fileName: String, withExtension type: String = "") { if let url = Bundle.main.url(forResource: fileName, withExtension: type) { musicPlayer = try? AVAudioPlayer(contentsOf: url) musicPlayer.volume = 1 musicPlayer.numberOfLoops = -1 musicPlayer.prepareToPlay() musicPlayer.play() } } open func stopMusic() { if musicPlayer != nil && musicPlayer!.isPlaying { musicPlayer.currentTime = 0 } } open func pauseMusic() { if musicPlayer != nil && musicPlayer!.isPlaying { musicPlayer.pause() } } open func resumeMusic() { if musicPlayer != nil && !musicPlayer!.isPlaying { musicPlayer.play() } } open func playSoundEffect(named fileName: String) { if let url = Bundle.main.url(forResource: fileName, withExtension: "") { soundPlayer = try? AVAudioPlayer(contentsOf: url) soundPlayer.stop() soundPlayer.numberOfLoops = 0 soundPlayer.prepareToPlay() soundPlayer.play() } } }
他シーンで再生しています。
audio.playMusic("musick.mp3")
あなたの回答
tips
プレビュー