こんにちは。
アプリ作成途中で、一つ解決したいものにぶつかってしまいgoogleから答えを引っ張り出せなかったので質問させていただきます。
音楽を再生しながらアプリを開いた時曲が停止してしまうのですが、停止させずに続行させる方法はありますでしょうか。アプリを開いた後に再度再生することは可能ですが、止めないようにしたいです。
これはデフォルトで起こる現象、もしくは私のコードが干渉しているのでしょうか?
どちらかはわかりかねますが、コードが膨大ですので関与していそうな viewdidload だけ記載いたします。
いい方法があれば、よろしくお願いいたします。
swift
1import UIKit 2import AVFoundation 3 4class ViewController: UIViewController, AVAudioPlayerDelegate { 5 6 //audio 7 var audioPlayer: AVAudioPlayer! 8 9 override func viewDidLoad() { 10 super.viewDidLoad() 11 12 //------------- default Setting ------------- 13 audioSetting() 14 self.titleField.delegate = self 15 } 16 17func audioSetting(){ 18 19 print("audiosetting") 20 // get the path of audio file 21 let audioPath = Bundle.main.path(forResource: "alerm", ofType: "mp3")! 22 let audioURL = URL(fileURLWithPath: audioPath) 23 24 //create a player 25 var audioError: NSError? 26 do{ 27 audioPlayer = try AVAudioPlayer(contentsOf: audioURL) 28 }catch let error as NSError{ 29 audioError = error 30 audioPlayer = nil 31 } 32 33 //when error occures 34 if let error = audioError{ 35 print("Error (error.localizedDescription)") 36 } 37 38 audioPlayer.delegate = self 39 audioPlayer.prepareToPlay() 40 }
追記
どうやら再生が止まってしまうのは仕様のようで、以下のコードで解消できるそうですが、
swift
1try! AVAudioSession.sharedInstance().setCategory(AVAudioSession.category.ambient)
4.2では .setCategory が機能しないようです("setCategory" is unavailable in Swift)。
4.1にダウンするか、object-Cだと動くようですが、、、。
模索中ですが、他に何か策があればよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/17 14:04