Системные звуковые службы не будут воспроизводить звук при подключении к Bluetooth автомобиля

#iphone #ios #audio #sdk #system

#iPhone #iOS #Аудио #sdk #система

Вопрос:

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

Я полагаю, что, поскольку он подключен к устройству Bluetooth, системные звуковые службы попытаются отправить аудио через 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,
                                      amp;soundFileObject
                                      );

AudioServicesPlaySystemSound (soundFileObject);
  

Есть идеи?

Ответ №1:

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

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

Комментарии:

1. Привет, Кони. Я пробовал это раньше, и это не работает. Должен ли он также переопределять вывод звука при подключении наушников или просто Bluetooth?