System Sound Services Не воспроизводит звук при подключении к Bluetooth автомобиля - PullRequest
0 голосов
/ 06 ноября 2011

Я использую System Sound Services для воспроизведения звука в моем приложении. Оно отлично работает при использовании колонок, наушников или даже автомобильного стерео-разъема USB.Однако, когда телефон подключен к автомобильной системе Bluetooth, звук не будет воспроизводиться.

Я полагаю, что, поскольку он подключен к устройству Bluetooth, System Sound Services будет пытаться отправить аудио через Bluetooth.

Кто-нибудь знает, как я могу предотвратить попытку отправки звукового маршрута на звук через Bluetooth?

Вот код, который я использую:

CFURLRef        soundFileURLRef;
SystemSoundID   soundFileObject;

CFBundleRef mainBundle;
mainBundle = CFBundleGetMainBundle ();

// Get the URL to the sound file to play
soundFileURLRef  =  CFBundleCopyResourceURL (
                                                 mainBundle,
                                                 CFSTR ("Alert6"),
                                                 CFSTR ("aif"),
                                                 NULL
                                                 );

// Create a system sound object representing the sound file
    AudioServicesCreateSystemSoundID (
                                      soundFileURLRef,
                                      &soundFileObject
                                      );

AudioServicesPlaySystemSound (soundFileObject);

Есть идеи?

1 Ответ

0 голосов
/ 06 ноября 2011

Вы можете переопределить вывод на внутренний динамик

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; // lets the system sounds come out of the speaker
OSStatus err = AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(audioRouteOverride), &audioRouteOverride);
if (err != noErr) {
    // handle error
}
...