按下主页按钮时在后台播放音乐
Posted
技术标签:
【中文标题】按下主页按钮时在后台播放音乐【英文标题】:Play music in background when home button is press 【发布时间】:2015-09-03 07:25:51 【问题描述】:我想播放音乐背景,为此我在 info.plist 中进行了更改。我将应用程序不在后台运行设置为否,应用程序播放音频所需的后台模式。
我在 AppDelegate 中添加了这个:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[[AVAudiosession sharedInstance] setDelegate:self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
- (void)applicationDidEnterBackground:(UIApplication *)application
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *error = nil;
NSLog(@"Activating audio session");
if (![audioSession setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionDuckOthers error:&error])
NSLog(@"Unable to set audio session category: %@", error);
BOOL result = [audioSession setActive:YES error:&error];
if (!result)
NSLog(@"Error activating audio session: %@", error);
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
但是当我按下主页按钮时,音乐不再播放。请问我哪里错了?
【问题讨论】:
【参考方案1】:并在 homeBtnEventMethod 上的 homeBtn 屏幕上播放音频
1.) 在 viewController.h #import <AVFoundation/AVAudioPlayer.h>
2.) @property (nonatomic, strong) AVAudioPlayer *theAudio;
3.) 在 viewController.m 在 viewDidLoad
NSError *error = nil;
self.theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:&error];
4.) - (IBAction)homeBtnTpd
[self.theAudio play];
【讨论】:
【参考方案2】:您应该将Applications does not run in background
设置为否
【讨论】:
好的,我改变了,但结果相同。按下主页时音乐停止 你活跃了吗Audio Background Mode
?
在项目设置中:Capbabilities
> Background mode
以上是关于按下主页按钮时在后台播放音乐的主要内容,如果未能解决你的问题,请参考以下文章