From 6aa80c92590659142635882b2a6cab7eddda3fef Mon Sep 17 00:00:00 2001 From: Nathan Date: Mon, 27 May 2024 08:52:01 +0200 Subject: [PATCH] :sparkles: Add: SoundPlayerClass --- .../ClassMeeple/SpriteMeeple.swift | 8 +++++ .../SoundPlayerClass/MusicPlayer.swift | 33 +++++++++++++++++++ .../SoundPlayerClass/SoundPlayer.swift | 22 +++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 DouShouQi_App/DouShouQi_App/ClassMeeple/SpriteMeeple.swift create mode 100644 DouShouQi_App/DouShouQi_App/SoundPlayerClass/MusicPlayer.swift create mode 100644 DouShouQi_App/DouShouQi_App/SoundPlayerClass/SoundPlayer.swift diff --git a/DouShouQi_App/DouShouQi_App/ClassMeeple/SpriteMeeple.swift b/DouShouQi_App/DouShouQi_App/ClassMeeple/SpriteMeeple.swift new file mode 100644 index 0000000..eb9ad91 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/ClassMeeple/SpriteMeeple.swift @@ -0,0 +1,8 @@ +// +// SpriteMeeple.swift +// DouShouQi_App +// +// Created by etudiant on 27/05/2024. +// + +import Foundation diff --git a/DouShouQi_App/DouShouQi_App/SoundPlayerClass/MusicPlayer.swift b/DouShouQi_App/DouShouQi_App/SoundPlayerClass/MusicPlayer.swift new file mode 100644 index 0000000..197be35 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/SoundPlayerClass/MusicPlayer.swift @@ -0,0 +1,33 @@ +// +// MusicPlayer.swift +// DouShouQi_App +// +// Created by Nathan Verdier on 27/05/2024. +// + +import Foundation +import AVFoundation + +class MusicPlayer { + static let shared = MusicPlayer() + var audioPlayer: AVAudioPlayer? + + func playBackgroundMusic(music: String) { + if let bundle = Bundle.main.path(forResource: music, ofType: "mp3") { + let backgroundMusic = NSURL(fileURLWithPath: bundle) + do { + audioPlayer = try AVAudioPlayer(contentsOf: backgroundMusic as URL) + guard let audioPlayer = audioPlayer else { return } + audioPlayer.numberOfLoops = -1 + audioPlayer.prepareToPlay() + audioPlayer.play() + } catch { + print(error) + } + } + } + + func stopBackgroundMusic() { + audioPlayer?.stop() + } +} diff --git a/DouShouQi_App/DouShouQi_App/SoundPlayerClass/SoundPlayer.swift b/DouShouQi_App/DouShouQi_App/SoundPlayerClass/SoundPlayer.swift new file mode 100644 index 0000000..1bd8a1d --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/SoundPlayerClass/SoundPlayer.swift @@ -0,0 +1,22 @@ +// +// SoundPlayer.swift +// DouShouQi_App +// +// Created by Nathan Verdier on 27/05/2024. +// + +import Foundation +import AVFoundation + +var audioPlayer: AVAudioPlayer? + +func playSound(named soundName: String) { + guard let url = Bundle.main.url(forResource: soundName, withExtension: "mp3") else { return } + + do { + audioPlayer = try AVAudioPlayer(contentsOf: url) + audioPlayer?.play() + } catch let error { + print("Error playing sound. \(error.localizedDescription)") + } +}