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     
时间: 2024-12-26 10:35:16

ios开发——实用技术篇Swift篇&播放MP3的相关文章

ios开发——实用技术篇Swift篇&录音

录音 1 // MARK: - 录音 2 /*----- 录音 ------*/ 3 4 var recorder:AVAudioRecorder? //录音器 5 var player:AVAudioPlayer? //播放器 6 var recorderSettingsDic:[NSObject : AnyObject]? //录音器设置参数数组 7 var volumeTimer:NSTimer!//定时器线程, 刷新音量 8 var aacPath:String? //录音存储路径 9

ios开发——实用技术篇Swift篇&视频

视频 1 // MARK: - 播放视频 2 /*----- 播放视频 ------*/ 3 4 5 func moviePlayerPreloadFinish(notification:NSNotification) 6 { 7 println("播放完毕") 8 } 9 10 //声明一个媒体播放器 11 var moviePlayer:MPMoviePlayerController? 12 13 @IBAction func playMV() 14 { 15 let filePa

ios开发——实用技术篇Swift篇&地址薄、短信、邮件

1 //返回按钮事件 2 @IBAction func backButtonClick() 3 { 4 self.navigationController?.popViewControllerAnimated(true) 5 } 6 7 //新增联系人 8 @IBAction func addPeople () 9 { 10 //取得电话薄句柄 11 var error:Unmanaged<CFError>? 12 var addressBook: ABAddressBookRef? = AB

ios开发——实用技术篇Swift篇&amp;系统声音

系统声音 1 // MARK: - 系统声音 2 /*----- 系统声音 ------*/ 3 @IBAction func systemSound() 4 { 5 //建立的SystemSoundID对象 6 var soundID: SystemSoundID = 0 7 8 //获取声音文件地址 9 var path = NSBundle.mainBundle().pathForResource("SaoMa", ofType: "wav") 10 11 /

ios开发——实用技术篇Swift篇&amp;多点触摸与手势识别

多点触摸与手势识别 1 2 //点击事件 3 var atap = UITapGestureRecognizer(target: self, action: "tapDo:") 4 self.view.addGestureRecognizer(atap) 5 atap.numberOfTapsRequired = 1 //单击次数 6 atap.numberOfTouchesRequired = 1 //手指个数 7 8 //拖动事件 9 var aPan = UIPanGesture

ios开发——实用技术篇Swift篇&amp;照片选择

照片选择 1 // MARK: - 选择照片 2 /*----- 选择照片 ------*/ 3 @IBAction func addImageButtonClick() 4 { 5 let actionSheet = UIActionSheet(title: "请选择", delegate: self, cancelButtonTitle: "取消", destructiveButtonTitle: nil, otherButtonTitles: "从相

ios开发——实用技术篇Swift篇&amp;加速计和陀螺仪

加速计和陀螺仪 1 //返回按钮事件 2 @IBAction func backButtonClick() 3 { 4 self.navigationController?.popViewControllerAnimated(true) 5 } 6 7 8 @IBOutlet var xLabel:UILabel! 9 @IBOutlet var yLabel:UILabel! 10 @IBOutlet var zLabel:UILabel! 11 12 @IBOutlet var orient

ios开发——实用技术篇Swift篇&amp;拍照

拍照 1 // MARK: - 拍照 2 func fromPhotograph() 3 { 4 if UIImagePickerController.isSourceTypeAvailable(.Camera) 5 { 6 //创建图片控制器 7 let picker = UIImagePickerController() 8 9 //设置代理 10 picker.delegate = self 11 12 //设置来源 13 picker.sourceType = UIImagePicker

ios开发——实用技术篇OC篇&amp;iOS的主要框架

iOS的主要框架         阅读目录 Foundation框架为所有的应用程序提供基本系统服务 UIKit框架提供创建基于触摸用户界面的类 Core Data框架管着理应用程序数据模型 Core Graphics框架帮助你创建图形 Core Animation允许你创建高级的动画和虚拟效果 OpenGL ES 框架提供2D和3D绘图工具 将别的框架添加到工程里 本文是<Sunvey the Major Framworks>一文的翻译 框架是一个目录,这个目录包含了共享库,访问共享库里代码