自動ロックまたはユーザーが電話をロックしたときに、iPhone でオーディオの再生を続行するにはどうすればよいですか?
私はすでに試しました
session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:NULL];
しかし、それはうまくいかないようです。
自動ロックまたはユーザーが電話をロックしたときに、iPhone でオーディオの再生を続行するにはどうすればよいですか?
私はすでに試しました
session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:NULL];
しかし、それはうまくいかないようです。
私はついにこれを行う方法を見つけました!
まず、次のフレームワークをプロジェクトに含めます: AudioToolbox、CoreAudio、MediaPlayer、および AVFoundation。それらをすべて、プレーヤーが配置されるviewControllerにインポートします。オーディオを割り当てて再生を開始したら、次のコードを挿入します。
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (sessionCategory), &sessionCategory);
AudioSessionSetActive(true);
最後に、アプリの Info.plist ファイルに移動し、UIBackgroundModes という名前の行を追加します。新しい行は配列になり、1 つの項目 (項目 0) が含まれます。これには、値を audio として設定するだけです。そして、あなたは完了です!バックグラウンドオーディオ再生アプリをお楽しみください!
このリンクが役立ちます。
アプリがディープ スリープ モードに入らないようにする必要があります。
UInt32 category = kAudioSessionCategory_MediaPlayback;
OSStatus result = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
sizeof(category), &category);
if (result){
DebugLog(@"ERROR SETTING AUDIO CATEGORY!\n");
}
result = AudioSessionSetActive(true);
if (result) {
DebugLog(@"ERROR SETTING AUDIO SESSION ACTIVE!\n");
}