0

これは、どこでも検索した重複した質問ではありませんが、残念ながら解決策が見つかりませんでした。

アプリがバックグラウンドにあるときに音楽ファイルを再生したいという私の問題は、ローカル通知が呼び出されたときに再生を開始する必要があります。

バックグラウンドでアプリが存在することを確認する機能があり、音楽ファイルを再生するステートメントを記述しましたが、[avaudioplayer play]は常に NO を返します。エラー コードを確認しましたが、null が表示されています。

また、info.plist ファイルを編集して、オーディオ ファイル設定をバックグラウンドで再生するように設定しました。

4

1 に答える 1

1

オーディオ セッションを次のように設定します: (audioPlayer は、ここでは AVPlayer のインスタンスです)

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    NSLog(@"inside observer");
    if (self.audioPlayer.status == 1)
    {
        [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback
                                               error:nil];
        [[AVAudioSession sharedInstance] setActive:YES
                                             error:nil];
        [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
        [self.audioPlayer play];
    }
}

アプリケーションの appname-info.pist に「必要なバックグラウンド モード」というフィールドを追加し、この配列に「アプリがオーディオを再生する」という項目を追加する必要があります。

それは確かに動作します:)

于 2013-01-25T20:53:44.643 に答える