ios开发——实用技术篇Swift篇&播放MP3
播放MP3
1 // MARK: - 播放MP3 2 /*----- mp3 ------*/ 3 //定时器- 4 func updateTime() 5 { 6 //获取音频播放器播放的进度,单位秒 7 var cuTime:Float = Float(audioPlayer.currentTime) 8 9 //更新进度条 10 jinDuSlider.value = cuTime 11 12 //获取总时间 13 var duTime:Float = Float(audioPlayer.duration) 14 15 //播放时间秒数,换算成:时、分、秒 16 var hour1:Int = Int(cuTime/(60*60)) 17 var minute1:Int = Int(cuTime/60) 18 var second1:Int = Int(cuTime%60) 19 20 //总时间秒数,换算成:时、分、秒 21 var hour2:Int = Int(duTime/(60*60)) 22 var minute2:Int = Int(duTime/60) 23 var second2:Int = Int(duTime%60) 24 25 26 //label显示 27 // timeLabel.text = NSString(format: "%.2d:%.2d:%.2d / %.2d:%.2d:%.2d",hour1,minute1,second1,hour2,minute2,second2) 28 29 //2015年5月2后修改 30 timeLabel.text = NSString(format: "%.2d:%.2d:%.2d / %.2d:%.2d:%.2d",hour1,minute1,second1,hour2,minute2,second2) as String 31 } 32 33 //播放按钮事件 34 @IBAction func audioPlayButton() 35 { 36 if audioPlayer.playing 37 { 38 return;//如果已在播放,跳出 39 } 40 41 //开始播放音频文件 42 audioPlayer.play() 43 44 //设置进图条最小是=0 45 jinDuSlider.minimumValue = 0.0; 46 47 //设置进度条最大值等于声音的描述 48 jinDuSlider.maximumValue = Float(audioPlayer.duration) 49 50 //启动定时器 定时更新进度条和时间label 在updateTime方法中实现 51 _timer = NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector: "updateTime", userInfo: nil, repeats: true) 52 } 53 54 //暂停 55 @IBAction func audioPauseButton(sender:UIButton) 56 { 57 var title = sender.titleForState(UIControlState.Normal) 58 if title == "Pause" && audioPlayer.playing 59 { 60 audioPlayer.pause() 61 sender.setTitle("Continue", forState: UIControlState.Normal) 62 } 63 else if title == "Continue" 64 { 65 sender.setTitle("Pause", forState: UIControlState.Normal) 66 audioPlayer.play() 67 } 68 } 69 70 //停止 71 @IBAction func audioStopButton(sender:UIButton) 72 { 73 if(audioPlayer.playing) 74 { 75 audioPlayer.stop() 76 audioPlayer.currentTime=0; 77 timeLabel.text = ""; 78 } 79 } 80 81 //调 进度 82 @IBAction func jinDuChange(sender:UISlider) 83 { 84 //获取jinDuSlider的值来设置音频播放器进度 85 audioPlayer.currentTime = NSTimeInterval(jinDuSlider.value) 86 87 //播放器播放 88 audioPlayer.play() 89 } 90 91 //控制声音 92 @IBAction func audioSoundChange(sender:UISlider) 93 { 94 //获取UISlider对象的值,并设置audioPlayer.volume 95 audioPlayer.volume = sender.value 96 97 aLabel.text = "\(sender.value)" 98 } 99 100 //播放代理AVAudioPlayerDelegate 101 func audioPlayerDidFinishPlaying(player: AVAudioPlayer!, successfully flag: Bool) 102 { 103 //成功播放完毕结束 104 } 105 106 func audioPlayerDecodeErrorDidOccur(player: AVAudioPlayer!, error: NSError!) 107 { 108 //音频播放器的解码错误 109 } 110 111 //@availability(iOS, introduced=2.2, deprecated=8.0) 112 func audioPlayerBeginInterruption(player: AVAudioPlayer!) 113 { 114 //音频播放器开始中断 115 } 116 117 118 //@availability(iOS, introduced=6.0, deprecated=8.0) 119 func audioPlayerEndInterruption(player: AVAudioPlayer!, withOptions flags: Int) 120 { 121 //音频播放结束中断 122 } 123 124 125 /*-----mp3 end------*/ 126 127
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。