Как можно добавить музыку на фон в приложении?

Для добавления фоновой музыки в приложение на Swift есть несколько способов. Рассмотрим два наиболее распространенных: использование AVAudioPlayer и AVPlayer.

1. Использование AVAudioPlayer:

Шаг 1: Включите библиотеку AVFoundation в ваш проект. Для этого выберите файл Info.plist и добавьте ключ 'Privacy - Microphone Usage Description'.

Шаг 2: Импортируйте фреймворк AVFoundation в файл кода, где вы хотите добавить фоновую музыку.

   import AVFoundation

Шаг 3: Создайте экземпляр AVAudioPlayer и укажите путь к вашему аудиофайлу:

   let path = Bundle.main.path(forResource: "backgroundMusic", ofType: "mp3")
   let url = NSURL.fileURL(withPath: path!)
   var audioPlayer: AVAudioPlayer!

   do {
       audioPlayer = try AVAudioPlayer(contentsOf: url)
   } catch {
       print("Error: (error)")
   }

Шаг 4: Настройте параметры аудио-плеера, например, установите бесконечное воспроизведение:

   audioPlayer.numberOfLoops = -1

Шаг 5: Воспроизведите музыку:

   audioPlayer.play()

Обратите внимание, что AVAudioPlayer поддерживает различные операции, такие как пауза, остановка или изменение громкости звука, которые могут быть полезны при работе с фоновой музыкой.

2. Использование AVPlayer:

Шаг 1: Включите библиотеку AVFoundation в ваш проект. Для этого выберите файл Info.plist и добавьте ключ 'Privacy - Microphone Usage Description'.

Шаг 2: Импортируйте фреймворк AVFoundation в файл кода, где вы хотите добавить фоновую музыку.

   import AVFoundation

Шаг 3: Создайте экземпляр AVPlayer и укажите путь к вашему аудиофайлу:

   let path = Bundle.main.path(forResource: "backgroundMusic", ofType: "mp3")
   let url = NSURL.fileURL(withPath: path!)
   var player: AVPlayer!

   player = AVPlayer(url: url)

Шаг 4: Настройте параметры плеера, например, установите бесконечное воспроизведение:

   player.actionAtItemEnd = .none
   NotificationCenter.default.addObserver(self, selector: #selector(playerItemDidReachEnd), name: .AVPlayerItemDidPlayToEndTime, object: player.currentItem)
   @objc func playerItemDidReachEnd() {
       player.seek(to: CMTime.zero)
   }

Шаг 5: Воспроизведите музыку:

   player.play()

AVPlayer также поддерживает различные операции, такие как пауза, остановка или изменение громкости звука, которые могут быть полезны при работе с фоновой музыкой.

Оба этих метода позволяют вам добавить фоновую музыку в ваше приложение. Выбор между AVAudioPlayer и AVPlayer зависит от ваших потребностей и требований вашего проекта.