2

このトピックに関する多くの記事/投稿を読みましたが、画面がロックされている間はサウンドを再生できません。

viewDidLoad で、オーディオ セッションを初期化し、オーディオ プロパティを kAudioSessionCategory_MediaPlayback に設定します。

AudioSessionInitialize(NULL, NULL, interruptionListenerCallback, self);
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
AudioSessionSetActive(true);

次に、AVAudioPlayer 変数 (audioPlayer) を初期化します。

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource: @"click" ofType: @"wav"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath];

NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: fileURL error: &error];
[fileURL release];

info.plist の「必要なバックグラウンド モード」セクションに「アプリがオーディオを再生する」を追加しました。

AVAudioPlayerDelegate と AVAudioSessionDelegate をビュー コントローラーの *.h ファイルに追加しました (必要かどうかはわかりませんが)。

(非常に短い)サウンドを定期的に再生します(毎秒〜1x):

[audioPlayer play]

画面のロックを解除すると音は問題なく再生されますが、ロックすると再生が停止します。その後、画面のロックを解除すると、(キューに入れられた) サウンドが再生されます。

アイデア?ありがとう!

4

2 に答える 2

0

ありがとうございます。

http://mobile.tutsplus.com/tutorials/iphone/ios-sdk_background-audio/から「アプリがオーディオを再生」を取得しました。

UIBackgroundModes を含む行を plist に追加すると、自動的に入力され、これと他の 6 つのバックグラウンド モードが含まれます。「アプリはオーディオを再生します」と UIBackgroundModes を Google で検索すると、多くのヒットが表示されます。

[回答ではなくコメントで返信したかったのですが、残念ながら、私には評判がありません。]

于 2013-08-26T19:14:16.660 に答える