У меня есть вопрос о AVFoundation
и AVAudioPlayer
.
. В моем проекте у меня есть вид, с которого вы начинаете, и второй момент, когда происходит действие.Когда я запускал приложение, я сказал первому представлению начать воспроизведение фоновой музыки, и оно должно продолжаться, когда пользователь находится во втором представлении.Но всякий раз, когда вы возвращаетесь к первому виду, песня начинает снова, даже если она уже играет.Таким образом, я получаю много эха.Как я могу предотвратить это?
Вот мой код, который у меня есть:
import UIKit
import AVFoundation
class StartViewController: UIViewController {
var backgroundPlayer = AVAudioPlayer()
override func viewDidLoad() {
super.viewDidLoad()
//background music file
let sound = Bundle.main.path(forResource: "background_music", ofType: "mp3")
do {
backgroundPlayer = try AVAudioPlayer(contentsOf: URL(fileURLWithPath: sound!))
}
catch {
print(error)
}
playBackgorundMusic()
}
func playBackgorundMusic() {
if backgroundPlayer.isPlaying {
//do nothing
} else {
backgroundPlayer.play()
}
}
}