播放无声音乐让后台一直运行
来源:互联网 发布:handbrake是什么软件 编辑:程序博客网 时间:2024/06/02 22:53
我们项目要求我们是每隔一个小时上传一次地理位置,试了好几种方法都不成功,只能选择后台循环播放音乐达到后台持续运行.(我是企业账号开发的,不清楚App Store上传上去会不会有问题)
1.首先用到音频,需要 import MediaPlayer
2. 音频播放代码
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord)
try AVAudioSession.sharedInstance().setActive(true)
} catch {
print(error)
}
let path = NSBundle.mainBundle().pathForResource("voice", ofType: "wav") //音频文件
let pathURL=NSURL(fileURLWithPath: path!)
do {
audioPlayer = try AVAudioPlayer(contentsOfURL: pathURL)
audioPlayer?.prepareToPlay()
audioPlayer?.numberOfLoops = -1 //循环
audioPlayer?.volume = 0.0//无声
audioPlayer?.play()
//UIApplication.sharedApplication().beginReceivingRemoteControlEvents() 锁屏的时候显示用,这里不用显示
} catch {
audioPlayer = nil
}
//来电话等中断音频播放时的处理
NSNotificationCenter.defaultCenter().addObserver(self, selector:
#selector(ViewController.breakAudioSessionEvent(_:)),name: AVAudioSessionInterruptionNotification, object: nil)
3.音频中断处理方法
func breakAudioSessionEvent(sender:NSNotification){
//音乐被中断,重新播放
do {
audioPlayer = try AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath:
NSBundle.mainBundle().pathForResource("voice", ofType: "wav")!))
audioPlayer?.prepareToPlay()
audioPlayer?.numberOfLoops = -1 //循环
audioPlayer?.volume = 0.0//无声
audioPlayer?.play()
} catch {
audioPlayer = nil
print(error)
}
}
4.这样测试下来,几个小时还继续后台运行,位置也一直上传着
- 播放无声音乐让后台一直运行
- app播放无声音乐实现app后台运行
- IOS 后台运行 播放音乐
- IOS后台运行 之 后台播放音乐
- IOS后台运行 之 后台播放音乐
- IOS后台运行 之 后台播放音乐
- IOS后台运行 之 后台播放音乐
- IOS后台运行 之 后台播放音乐
- IOS后台运行 之 后台播放音乐
- IOS后台运行 之 后台播放音乐
- 怎么让 Android 程序一直后台运行
- 后台运行程序时 音乐继续播放
- 音乐播放器类程序后台运行
- 如何让android的service一直后台运行
- ios后台播放音乐
- iOS后台播放音乐
- ios 音乐后台播放
- iOS后台播放音乐
- 布隆过滤器和hashmap
- File类
- centos7下安装Torch7
- 高性能HTTP服务器 Apache
- 2017年Android开发必须要掌握的热门开源框架总结(附带GitHub地址)
- 播放无声音乐让后台一直运行
- Kubernetes-Updates and Gradual Rollouts
- Android 必知必会 - 根据包名判断 App 运行状态
- POJ 1010 STAMPS 已被翻译
- webgl知识点 整理
- ScrollView所遇到的坑
- iBatis简单入门教程
- 纵表和横表的概念及其相互转换
- 高性能 HTTP服务器 qHttpd