projectの下に、ケツメイシの涙のmp3を置きます。

storyboardに、buttonを配置し、autletとactionで接続します。

コーディングしていきます。
var audioPlayer:AVAudioPlayer!
@IBOutlet weak var button: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
let audioPath = Bundle.main.path(forResource: "namida", ofType:"mp3")!
let audioUrl = URL(fileURLWithPath: audioPath)
var audioError:NSError?
do {
audioPlayer = try AVAudioPlayer(contentsOf: audioUrl)
} catch let error as NSError {
audioError = error
audioPlayer = nil
}
if let error = audioError {
print("Error \(error.localizedDescription)")
}
audioPlayer.delegate = self
audioPlayer.prepareToPlay()
}
@IBAction func buttonTapped(_ sender: Any) {
if ( audioPlayer.isPlaying ){
audioPlayer.stop()
button.setTitle("Stop", for: UIControlState())
}
else {
audioPlayer.play()
button.setTitle("Play", for: UIControlState())
}
}
普通に再生できました。

ちょっとハイペースですが、次はカメラいきましょう。
どうやらカメラもAVFoundationのようですね。