私はApp plays audio
とApp provides Voice over IP services
というオプションを.plist
で設定したアプリケーションを持っています。アプリケーションがバックグラウンドのときにAVAudioPlayerを起動する
アプリケーションはソケットイベント(バックグラウンドでさえ)を受信しており、イベントに関してはサウンドを再生します。アプリケーションがフォアグラウンドにあるときは、すべて正常です。アプリがバックグラウンドになると、アプリが起動され、プレーヤーの再生方法が呼び出されますが、音は鳴りません。
私はインターネットから多くのサンプルコードを試しましたが、何も機能していません。私はフォアグラウンドでサウンドを再生し、バックグラウンドで私のアプリを移動しようとしていると働いている。
アプリがバックグラウンドのときにサウンドを再生するのに問題がありますか?
ここに私のアプリがバックグラウンドでトリガーされるイベントを処理する私のコードです:
NSError *error;
NSURL *audioFileLocationURL = [[NSBundle mainBundle] URLForResource:@"HeadspinLong" withExtension:@"caf"];
if (audioPlayer != nil) return;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioFileLocationURL error:&error];
audioPlayer.delegate=self;
if (error) {
NSLog(@"%@", [error localizedDescription]);
}
audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
[audioSession setActive: YES error: &error];
audioSession.delegate=self;
if (error) {
NSLog(@"");
}
可能重複して音楽を演奏の再生を継続することしかできない...アプリがバックグラウンドで動作しているとき、音楽の再生を開始することはできないようです[AVAudioPlayerはバックグラウンドで再生を開始しません](http://stackoverflow.com/questions/16564298/avaudioplayer-doesnt-start-playing-in-background) – matt