2013-08-22 19 views
5

Potrzebuję mieć zestaw przycisków, które działają jak wybierak wyjściowy multimediów w dialekcie JB, który wybierze "zestaw słuchawkowy" "głośnik" i "słuchawkę telefonu". Mogę włączać i wyłączać głośnik, jednak przełączanie pomiędzy wyjściem multimedialnym między standardowym mikrotelefonem a zestawem słuchawkowym Bluetooth umyka mi.Jak programowo wybierać pomiędzy bluetooth i mikrotelefonem dla audio audio

Jak mogę zbudować i wybrać opcję taką jak ta w dialer, która kontroluje wyjście mediów? Zapoznałem się z dokumentacją dotyczącą kontrolek bluetooth i Audio i wydaje się, że nic nie działa poprawnie (np. SetScoBluetooth itp.).

+0

Jaki to jest akcesorium Bluetooth? Jeden przeznaczony tylko jako zestaw głośnomówiący, czy obsługuje także A2DP? – Michael

+0

Urządzenie, które testuję to jest A2DP, najlepiej rozwiązanie, które nie zależy od SCO/A2DP, ale w tym momencie wezmę co mogę dostać – Pyrodante

Odpowiedz

2

Wdrożenie zasad routingu jest zależne od platformy i dlatego może się nieznacznie różnić między różnymi produktami, ale to jest to, co zasugerowałbym:

Jeśli urządzenie z obsługą A2DP jest sparowane/podłączone "dla mediów", powinno być domyślnym urządzeniem wyjściowym dla strumieni MUSIC. Jeśli więc nic nie zrobisz, dźwięk powinien zostać przekierowany do urządzenia A2DP.

Aby skierować dźwięk do głośnika zamiast do urządzenia A2DP, należy użyć metody sterownika AudioManager setBluetoothA2dpOn z argumentem false. Ta metoda została przez dłuższy czas oznaczona jako przestarzała, ale nadal istnieje i wykonuje ostatnie działanie reklamowe, które sprawdziłem.

Aby skierować dźwięk do słuchawki, użyj typu strumienia VOICE_CALL i zmień tryb na za pomocą metody AudioManager. Możesz także wyłączyć bluetooth z setBluetoothScoOn(false).

+0

Mam do czynienia z tym samym problemem. Zrobiłem wszystko powyżej, ale nadal nie działa –