0

私はすべてを試しました:

-setup info.plist必要なバックグラウンドモード:アプリはオーディオを再生します。

-セットアッププレーヤー:

 [[AVAudioSession sharedInstance] setDelegate: self];

// allow app continue to play when the screen is locked
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback
                                       error:nil];

UInt32 doSetProperty = 0;
AudioSessionSetProperty ( kAudioSessionProperty_OverrideCategoryMixWithOthers,
                         sizeof (doSetProperty),
                         &doSetProperty
                         );

// Registers the audio route change listener callback function
AudioSessionAddPropertyListener (
                                 kAudioSessionProperty_AudioRouteChange,
                                 audioRouteChangeListenerCallback,
                                 self
                                 );

// Activates the audio session.

NSError *activationError = nil;
[[AVAudioSession sharedInstance] setActive: YES error: &activationError];

[appSoundPlayer prepareToPlay];
[appSoundPlayer setVolume: 1.0];
[appSoundPlayer setDelegate: self];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

何を忘れているの?何か問題がありますか?

4

1 に答える 1

1

Audio Category を Playback に設定する必要があります。

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error];

その後、他のアプリとのオーディオのミキシングを許可する場合は、このオプションを追加できます。オーディオ セッションをアクティブに設定する前に、必ずこれを行ってください。

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil];

これで、オーディオ セッションをアクティブに設定できます。

[[AVAudioSession sharedInstance] setActive:YES error:&error];
于 2013-08-30T13:46:46.873 に答える