簡單的音樂播放器

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()

    }

}


界面



發佈了23 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章