iOS开发小结 - 让你的APP后台运行
来源:互联网 发布:淘宝买的负值轮毂断裂 编辑:程序博客网 时间:2024/05/29 12:25
最近项目有个需求需要让app在后台一直运行计时着,找了一些资料,只能用比较无耻的做法了,播放一段没有声音的音频文件,这样你的APP就不会被系统杀掉~~
我们只需要用到<AVFoundation/AVFoundation.h>
框架,然后播放一段没有声音的音频文件就可以实现了,贴代码:
#pragma mark - 音频播放,让后台一直运行//播放器- (AVAudioPlayer *)audioPlayer { if (_audioPlayer == nil) { dispatch_queue_t dispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(dispatchQueue, ^(void) { NSError *audioSessionError = nil; AVAudioSession *audioSession = [AVAudioSession sharedInstance]; //激活会话 [audioSession setActive:true error:nil]; if ([audioSession setCategory:AVAudioSessionCategoryPlayback error:&audioSessionError]){ NSLog(@"成功设置音频对话."); } else { NSLog(@"设置音频对话失败"); } NSBundle *mainBundle = [NSBundle mainBundle]; NSString *filePath = [mainBundle pathForResource:@"timeBlankSound" ofType:@"mp3"]; NSData *fileData = [NSData dataWithContentsOfFile:filePath]; NSError *error = nil; _audioPlayer = [[AVAudioPlayer alloc] initWithData:fileData error:&error]; if (_audioPlayer != nil){ _audioPlayer.delegate = self; //让它无限循环播放 [_audioPlayer setNumberOfLoops:-1]; if ([_audioPlayer prepareToPlay] && [_audioPlayer play]){ NSLog(@"成功播放"); } else { NSLog(@"播放失败"); } } }); } return _audioPlayer;}
然后调用[self.audioPlayer play];
就能播放了~
空音乐文件的下载地址
非常简单粗暴的方法,大家有好的办法可以提出来,谢谢大家阅读~
1 0
- iOS开发小结 - 让你的APP后台运行
- iOS让App后台运行方法小结
- iOS让App后台运行
- iOS让App后台运行
- iOS让你的app一直在后台活着(运行)
- linux 让你的进程后台运行
- linux 让你的进程后台运行
- linux 让你的进程后台运行
- linux 让你的进程后台运行
- linux 让你的进程后台运行
- IOS App 后台运行
- IOS App 后台运行
- iOS App 后台运行
- iOS 让你的APP支持iPhone5
- iOS-APP后台运行代码
- iOS App 后台运行调研
- linux 让你的进程后台运行
- linux 让你的进程后台运行
- codeforce New Problem(dfs)
- 入门-如何查看数据库是哪个用户建立的
- iOS数组倒序排列
- linux sort,uniq,cut,wc命令详解
- c++基础知识整理(1)
- iOS开发小结 - 让你的APP后台运行
- Eclipes检测内存泄漏
- Makefile之我学
- JAVA
- 程序员职业生涯可行性路线、关键技术
- 1-11 MMU在U-boot中的配置与实现
- java课程练习---开发新游戏
- 培育不良资产处置市场 带来无限可能
- AngularJS ng-repeat的使用