使用MPMoviePlayerController我们可以是进行音乐播放,下面是一个播放器样例。同时,播放时还可以显示播放时间和播放进度。

| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
 | 
import UIKitimport MediaPlayerclass ViewController: UIViewController {         //申明一个媒体播放控件    var audioPlayer:MPMoviePlayerController=MPMoviePlayerController();    //申明一个计时器    var timer:NSTimer?         //ProgressView控件 播放进度条    @IBOutlet weak var progressView: UIProgressView!    //Label控件 播放时间    @IBOutlet weak var playTime: UILabel!        override func viewDidLoad() {        super.viewDidLoad()             }    override func didReceiveMemoryWarning() {        super.didReceiveMemoryWarning()    }         //播放歌曲    func onSetAudio(url:String){        //暂停当前歌曲的播放        self.audioPlayer.stop()        //获取歌曲文件        self.audioPlayer.contentURL=NSURL(string:url)        //播放歌曲        self.audioPlayer.play()        //先停掉计时器        timer?.invalidate()        //将计时器归零        playTime!.text="00:00"        //开启计时器        timer=NSTimer.scheduledTimerWithTimeInterval(0.4, target: self,            selector: "onUpdate", userInfo: nil, repeats: true)    }         //计时器更新方法    func onUpdate(){        //返回播放器当前的播放时间        let c=audioPlayer.currentPlaybackTime        if c>0.0 {            //歌曲的总时间            let t=audioPlayer.duration            //歌曲播放的百分比            let p:CFloat=CFloat(c/t)            //通过百分比设置进度条            progressView!.setProgress(p, animated: true)                         //一个小算法,来实现00:00这种格式的播放时间            let all:Int=Int(c)            let m:Int=all % 60            let f:Int=Int(all/60)            var time:String=""            if f<10{                time="0\(f):"            }else {                time="\(f)"            }            if m<10{                time+="0\(m)"            }else {                time+="\(m)"            }            //更新播放时间            playTime!.text=time        }    }} | 
原文:http://www.cnblogs.com/Free-Thinker/p/4841057.html