2010-07-07 9 views
6

Czy istnieje sposób, aby pozwolić użytkownikowi wybrać urządzenie, którego używają do wyjścia audio?Wybierz urządzenie audio na iPhone'ie

W Dokumentach I odkryli, że można wybrać, która droga do korzystania przez ustawienie kAudioSessionProperty_OverrideAudioRoute albo:

  • kAudioSessionOverrideAudioRoute_None lub
  • kAudioSessionOverrideAudioRoute_Speaker

Jednak chciałbym pozwól użytkownikowi użyć zestawu słuchawkowego Bluetooth, aby usłyszeć dźwięk.

Jeśli zajrzysz do aplikacji "Notatki głosowe" firmy Apple, w menu odtwarzania znajduje się przycisk w lewym górnym rogu, który pozwala wybrać urządzenie audio do użycia. Gdy jest podłączony zestaw słuchawkowy Bluetooth, naciśnięcie przycisku powoduje wyświetlenie menu, które umożliwia wybór pomiędzy: zestaw słuchawkowy

  • Bluetooth
  • iPhone
  • Głośnik

Czy istnieje sposób, aby osiągnąć tej funkcji przy użyciu standardowych interfejsów Apple API w mojej własnej aplikacji?

Odpowiedz

13

W wersji 3.1 są dwa protokoły, które obsługują wysyłanie dźwięku do urządzeń bluetooth, a użycie zależy od akcesorium. Pierwszym z nich jest A2DP, który jest używany z accessores, który obsługuje odbieranie muzyki stereo, a drugi jest wolny od rąk dla wszystkich akcesoriów bez użycia rąk. Aby aktywować pierwszą opcję, należy użyć klasy MPVolumeView, która ma suwak głośności i przycisk wyboru urządzenia audio, gdy widok ten zostanie dodany do dowolnego widoku w aplikacji, zapewnia użytkownikowi możliwość ustawienia objętość i wybierz urządzenie BT jeśli podłączone (jest to jedyny sposób znalazłem) z drugiej strony, druga opcja może być aktywowana za pomocą wywołania

UInt32 bt = TRUE; 
result = AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryEnableBluetoothInput , sizeof(UInt32), &bt); 

appliction musi zainicjować sesję dźwięku i korzystać z corect catagory (musi obsługiwać przekodowywanie, aby działał). Po EnableBluetoothInput jest ustawione wszystko Wejście i wyjście audio będzie przesyłany przez urządzenia głośnomówiącego (jeśli jest podłączony oczywiście :))

1

Najprostszym sposobem jest dodanie kontrolę MPVolume (link to documentation) do interfejsu użytkownika i ustaw showVolumeSlider = NO i showRouteButton = YES.

Użytkownik będzie miał przycisk trasy, aby skierować audio do wybranego urządzenia.

Powiązane problemy