簡體   English   中英

按下主屏幕按鈕在后台播放音樂

[英]Play music in background when home button is press

我想播放音樂背景,為此我在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];

}

但是當我按下主屏幕按鈕時音樂不再播放。 任何想法請我錯了嗎?

您應該將“ Applications does not run in background設置為“否”

在此處輸入圖片說明

並在homeBtnEventMethod的homeBtn屏幕上播放音頻

1.)在viewController.h中 #import <AVFoundation/AVAudioPlayer.h>

2.) @property (nonatomic, strong) AVAudioPlayer *theAudio;

3.)在viewDidLoad中的viewController.m

 NSError *error = nil;
self.theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:&error];

4.) - (IBAction)homeBtnTpd { [self.theAudio play]; } - (IBAction)homeBtnTpd { [self.theAudio play]; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM