import UIKit
import AVFoundation
class ViewController: UIViewController {
var url: NSURL!
var timer: NSTimer!
var mp3file = "/Users/apple/Desktop/music/2.mp3"
var player: AVAudioPlayer!
var error: NSError?
@IBOutlet var pSlider : UISlider
@IBAction func didProgressChanged(sender: UISlider) {
println("\(sender.value)")
player.currentTime = player.duration * NSTimeInterval(sender.value)//變換類型
}
@IBAction func didPlayClicked(sender: UIButton) {
println("did play clicked")
//創建文件的URL
url = NSURL(fileURLWithPath: mp3file)
//var error: NSError?
//創建播放器對象
player = AVAudioPlayer(contentsOfURL: url, error: &error)
if error {
println("出錯了")
}
else {
//準備播放
player.prepareToPlay()
//播放
player.play()
//創建並啓動定時器,每隔0.1s調用一次refreshProgress
timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: "refreshProgress", userInfo: nil, repeats: true)
audioPlayerDidFinishPlaying(player, successfull: true )
}
}
func audioPlayerDidFinishPlaying(player: AVAudioPlayer!, successfull: Bool){
}
func refreshProgress() {
//改變進度
pSlider.value = CFloat(player.currentTime / player.duration)
}
@IBAction func didStopClicked(sender: UIButton) {
println("did stop clicked")
//停止定時器
timer.invalidate()
//停止播放
player.stop()
pSlider.value = 0
}
@IBAction func didVolumeChanged(sender: UISlider) {
println("\(sender.value)")
//音量
player.volume = sender.value
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
界面