iOS MusicPlayer简单实现(基于AVFoundation)

iOS 的音频开发里,AVFoundation绝对是绕不开的老朋友。想自己撸一个音乐播放器?其实也没多复杂。用 Swift 配合AVAudioPlayer,几十行代码就能跑起来,响应也快,代码也简单,挺适合练手的。

先说播放这块,用AVAudioPlayer加载本地mp3文件,一行play()就搞定。如果音频路径是对的,几乎不会出错。万一崩了?do-catch兜一下,用户体验不打折。

UI 部分也别头大,用UIKit撸点基础控件就够用了。像UISlider可以拿来做进度条,调节播放进度,按钮监听事件控制播放/暂停,手感也还不错。别忘了currentTime,这样用户能看到实时进度。

再说进阶一点的,AVAudioSession可以搞定音频会话,比如后台播放、切换音源这些。你要做多首歌切换?用个数组管理播放列表就行,逻辑清晰,扩展性也还行。

音量调节那块,可以用系统音量,也可以上MPVolumeView自定义,滑块滑起来也挺丝滑。还有联网播放的需求?那就上URLSession,把歌下载下来再丢给AVAudioPlayer

记得加上状态保存逻辑,比如进入后台时保存当前播放时间,回来再续播,不然体验割裂。其实搞完这些,你就已经完成一个能用的 MusicPlayer 了,想玩花的?歌词同步、播放模式随便加。

如果你对AVFoundation还不熟,建议看看这篇iOS avfoundation的,还有AVAudioPlayer 功能实现也挺全的,基本上能 80%的问题。

想从头到尾把播放器写一遍,这份教程还是挺适合的。你也可以从这里改着改着,做个你自己的轻量播放器哦~

zip 文件大小:17.99MB