Из моего приложения для Android я хочу передать аудио в любой доступный динамик, например, A2DP
, колонки docking
или car
.
для этого я хочу использовать соединение Bluetooth и потоковое соединение по Bluetooth...
Я видел следующие ссылки
На андроиде, как перенаправить звук из a2dp
setBluetoothA2dpOn (boolean on)
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);
}
}