Lebih disukai Anda mungkin ingin menggunakan AVFoundation . Ini menyediakan semua hal penting untuk bekerja dengan media audiovisual.
Pembaruan: Kompatibel dengan Swift 2 , Swift 3 dan Swift 4 seperti yang disarankan oleh beberapa dari Anda di komentar.
Swift 2.3.0
import AVFoundation
var player: AVAudioPlayer?
func playSound() {
let url = NSBundle.mainBundle().URLForResource("soundName", withExtension: "mp3")!
do {
player = try AVAudioPlayer(contentsOfURL: url)
guard let player = player else { return }
player.prepareToPlay()
player.play()
} catch let error as NSError {
print(error.description)
}
}
Cepat 3
import AVFoundation
var player: AVAudioPlayer?
func playSound() {
guard let url = Bundle.main.url(forResource: "soundName", withExtension: "mp3") else { return }
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)
let player = try AVAudioPlayer(contentsOf: url)
player.play()
} catch let error {
print(error.localizedDescription)
}
}
Swift 4 (kompatibel dengan iOS 13)
import AVFoundation
var player: AVAudioPlayer?
func playSound() {
guard let url = Bundle.main.url(forResource: "soundName", withExtension: "mp3") else { return }
do {
try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default)
try AVAudioSession.sharedInstance().setActive(true)
player = try AVAudioPlayer(contentsOf: url, fileTypeHint: AVFileType.mp3.rawValue)
guard let player = player else { return }
player.play()
} catch let error {
print(error.localizedDescription)
}
}
Pastikan untuk mengubah nama lagu Anda serta ekstensinya .
File harus diimpor dengan benar ( Project Build Phases
> Copy Bundle Resources
). Anda mungkin ingin menempatkannya assets.xcassets
untuk kenyamanan yang lebih baik.
Untuk file suara pendek Anda mungkin ingin menggunakan format audio non-terkompresi seperti .wav
karena mereka memiliki kualitas terbaik dan dampak cpu rendah. Konsumsi ruang disk yang lebih tinggi seharusnya tidak menjadi masalah besar untuk file suara pendek. Semakin panjang file, Anda mungkin ingin menggunakan format terkompresi seperti .mp3
dll. Pp. Periksa format audio yang kompatibel dari CoreAudio
.
Fakta menyenangkan: Ada perpustakaan kecil yang rapi yang membuat pemutaran suara menjadi lebih mudah. :)
Misalnya: SwiftySound