Swift如何实现音乐播放,后台播放及控制。
来源:互联网 发布:apache tomcat modjk 编辑:程序博客网 时间:2024/04/30 20:25
播放音乐
首先,创建一个项目MediaDemo。
导入所需要的包
import AVFoundationimport MediaPlayer
定义一个播放器的变量
var audioPlayer: AVAudioPlayer?
添加查找播放源的代码
let path = NSBundle.mainBundle().pathForResource("music", ofType: "mp3") let pathURL=NSURL(fileURLWithPath: path!) do { audioPlayer = try AVAudioPlayer(contentsOfURL: pathURL) } catch { audioPlayer = nil }
缓冲音乐
audioPlayer?.prepareToPlay()
在页面上加创建两个按钮play,pause(没做约束)
let playbtn = UIButton() playbtn.frame = CGRectMake(60 , 200, 100, 40) playbtn.backgroundColor = UIColor.cyanColor() playbtn.setTitle("play", forState: .Normal) playbtn.setTitleColor(UIColor.whiteColor(), forState: .Normal) let pausebtn = UIButton(frame: CGRectMake(180 , 200, 100, 40) ) pausebtn.setTitle("pause", forState: .Normal) pausebtn.setTitleColor(UIColor.whiteColor(), forState: .Normal) pausebtn.backgroundColor = UIColor.cyanColor() self.view.addSubview(playbtn) self.view.addSubview(pausebtn)
给两个按钮加上监听,实现播放和暂停功能。
playbtn.addTarget(self, action: "play", forControlEvents: .TouchUpInside) pausebtn.addTarget(self, action: "pause", forControlEvents: .TouchUpInside) func play(){ audioPlayer.play() } func pause(){ audioPlayer.pause() }
这样音乐就可以播放啦。
后台播放及控制
首先在info.list中需要添加下面这条信息
在viewload中添加,这句话要添加在audioPlayer.play()之前
do { try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord) try AVAudioSession.sharedInstance().setActive(true) } catch { }
下面这句话是为了在锁屏界面显示信息,及控制面板
UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
设置锁屏界面
func setLockView(){ MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = [// 歌曲名称MPMediaItemPropertyTitle:"第一夫人",// 演唱者MPMediaItemPropertyArtist:"张杰",// 锁屏图片MPMediaItemPropertyArtwork:MPMediaItemArtwork(image: UIImage(named: "img.jpeg")!),// MPNowPlayingInfoPropertyPlaybackRate:1.0,// 总时长 MPMediaItemPropertyPlaybackDuration:audioPlayer.duration,// 当前时间 MPNowPlayingInfoPropertyElapsedPlaybackTime:audioPlayer.currentTime ] }
viewDidLoad中调用代码
self.setLockView()
添加锁屏远程控制音乐播放代码
override func remoteControlReceivedWithEvent(event: UIEvent?) { switch event!.subtype { case .RemoteControlPlay: // play按钮 audioPlayer.play() case .RemoteControlPause: // pause按钮 audioPlayer.pause() case .RemoteControlNextTrack: // next // ▶▶ break case .RemoteControlPreviousTrack: // previous // ◀◀ break default: break } }
源代码:
https://github.com/iancui/MediaDemo.git
0 0
- Swift如何实现音乐播放,后台播放及控制。
- ios实现音乐播放器后台播放
- IOS 控制音量并实现后台播放音乐
- IOS实现后台播放音乐
- Android实现音乐后台播放
- ionic 实现音乐后台播放
- ios 音乐后台播放 远程控制
- android组件Service控制后台音乐播放
- iOS音乐播放器实现后台播放锁屏界面控制
- iOS音乐播放器的后台播放和远程控制
- Android控制后台音乐播放器暂停,播放
- Android 利用AudioManager控制后台音乐播放器暂停,播放
- Android音乐播放器---实现Notification控制音乐播放
- Android音乐播放器---实现Notification控制音乐播放
- Android音乐播放器---实现Notification控制音乐播放
- Android音乐播放器---实现Notification控制音乐播放
- 利用service实现音乐的后台播放
- IOS音乐后台播放的实现
- [原]8小时外实践系列之四——从零开始建立一个个人网站
- 数据结构 — 图 之 广度优先遍历
- [Emacs] 1.2 尝试配置emacs(基础与配色)
- Linux下配置Mysql允许远程访问详解
- 子串和子序列并不是一个意思
- Swift如何实现音乐播放,后台播放及控制。
- ActionBar自定义
- python学习笔记(6)
- 最大长方体问题
- .NET学习(三)用DataSet缓存数据库中的数据
- Python2.7 Django1.8 CentOS7 Apache2.4 mod_wsgi4.4.21 环境下部署
- hdu 2639 Bone Collector II (01背包)
- Live For What
- keil调试:局部变量地址和全局变量地址重叠