Потоковая передача и воспроизведение аудио из приложения Android на любой доступный динамик, такой как A2DP, автомобильные динамики и т. д.

Из моего приложения для Android я хочу транслировать аудио на любой доступный динамик, например A2DP динамик, docking динамик или car динамик.

для этого я хочу использовать Bluetooth-соединение и передавать поток через Bluetooth-соединение...

Я видел следующие ссылки

Как перенаправить звук с a2dp на Android

setBluetoothA2dpOn (логическое значение включено)

Android 2.3: как переключиться с SCO на A2DP для поддерживающего Bluetooth динамика?

Но везде я находил одно и то же.. т.е.

public void setBluetoothA2dpOn (boolean on)

This method is deprecated.
Do not use. 

Пожалуйста, помогите мне, как это сделать. Или предложите, можно ли это сделать каким-то другим способом. Любая помощь/предложение приветствуется.

ИЗМЕНИТЬ :

РАЗРЕШЕНИЕ в манифесте:

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

КОД :

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    layout = (RelativeLayout) findViewById(R.id.layout);
    text = (TextView) findViewById(R.id.editText1);
    scoSwitch = (ToggleButton) findViewById(R.id.switch1);
    try {
        mp1 = MediaPlayer.create(this, R.raw.jc_cm);
        mp2 = MediaPlayer.create(this, R.raw.rp);
        amanager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
        //amanager.setBluetoothA2dpOn(true);
                } catch (IllegalArgumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

public void onSCOswitch(View view){
    if (scoSwitch.isChecked()){
        amanager.setBluetoothScoOn(true);
        amanager.startBluetoothSco();
        Log.d("Bluetooth", "SCO on");
        amanager.setMode(AudioManager.MODE_IN_COMMUNICATION);
    }
    else{
        amanager.stopBluetoothSco();
        amanager.setBluetoothScoOn(false);
        amanager.setBluetoothA2dpOn(true);
        Log.d("Bluetooth", "SCO off");
        amanager.setMode(AudioManager.MODE_NORMAL);
    }
} 

person Shruti    schedule 07.09.2012    source источник
comment
С какими проблемами вы сталкиваетесь при использовании этой документации. /андроид/блютуз/   -  person Ronnie    schedule 17.09.2012
comment
@userSeven7s: проблема, с которой я столкнулся, заключается в том, что я не могу определить, является ли другое устройство также A2DP или нет, и поэтому проблема с буферизацией звука   -  person Shruti    schedule 17.09.2012
comment
вставьте код, который вы пробовали с...   -  person Ronnie    schedule 17.09.2012
comment
@userSeven7s: см. отредактированный вопрос   -  person Shruti    schedule 17.09.2012
comment
Можете ли вы поделиться примером кода для этого?   -  person Hardik Joshi    schedule 09.05.2014


Ответы (2)


я ссылаюсь на эту ссылку, пожалуйста, попробуйте это

Android: воспроизведение звука через Bluetooth-гарнитуру Sco

Вывод TTS всегда идет на A2DP

я думаю, что эта ссылка может помочь вам

person Akash Singh    schedule 12.09.2012
comment
я принимаю этот ответ, но, пожалуйста, объясните мне еще кое-что об этом... потому что я все еще не понимаю, как это реализовать - person Shruti; 17.09.2012

Вот реализация Bluetooth A2DP в службе. Вы можете сослаться на этот код и создать свой собственный.

Служба Bluetooth A2DP

person Ronnie    schedule 17.09.2012
comment
но для этого я должен добавить <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> и <uses-permission android:name="android.permission.BLUETOOTH"/>в манифест - person Shruti; 17.09.2012