0

だから私はこの質問をしなければならないのは嫌ですが、かなりの時間を Apple のドキュメントと Google の検索に費やしましたが、役に立ちませんでした。applicationDidFinishLaunching. オーディオ ストリームを再生するアプリがあり、アプリがバックグラウンドに入ったときに再生を続けたいので、再生カテゴリを使用しようとしています。AppDelegate.m のコードは次のとおりです。

- (void)applicationDidFinishLaunching:(UIApplication *)application
{
// Set AudioSession
NSError *sessionError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError];
[[AVAudioSession sharedInstance] setActive:YES error:&sessionError];
[[AVAudioSession sharedInstance] setDelegate:self];

// create window and set up navigation controller
[window addSubview:myNavController.view];
[window makeKeyAndVisible];

}

# pragma mark -
# pragma mark AVAudioSession Delegate Methods 
- (void)beginInterruption {
}
- (void)endInterruption {
}
- (void)endInterruptionWithFlags:(NSUInteger)flags {
}
- (void)inputIsAvailableChanged:(BOOL)isInputAvailable {
}

このコードを使用すると、ホーム ボタンを押すたびにオーディオがフェードアウトし、アプリがバックグラウンドになります。以前にこれを行ったことがある人にとって、これが迅速な修正タイプの回答であることを願っています。

4

2 に答える 2

2

UIBackgroundModesまだ行っていない場合は、最初に Info.plist ファイルにキーを追加します。詳細はこちら

すでにそれを行っている場合、メディアを再生するためにどのフレームワークを使用していますか?

于 2011-01-18T16:32:23.030 に答える
1

助けてくれてありがとうアイリーン。私がそれを機能させるために必要な手順を提供したかったことを除いて、あなたの答えはほとんど正しいです。あなたが投稿したアップルのドキュメントを読みましたが、何らかの理由で次の重要な詳細が省略されていました。

  1. .plist ファイルに UIBackgroundModes キーを追加するときは、配列にする必要があります。
  2. 配列の項目 0 の値は audio である必要があります。

もちろん、アプリは、このキーの設定と組み合わせて、オーディオ セッション カテゴリの設定も処理する必要があります。

于 2011-01-30T08:33:39.123 に答える