简单的音乐播放器

13 篇文章 0 订阅

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

    }

}


界面



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值