从我的Android应用程序,我想将音频流传输到任何可用的扬声器,如 A2DP
扬声器, docking
扬声器或 car
扬声器 .
为此,我想使用蓝牙连接并通过蓝牙连接流...
我看到以下链接
On android how to reroute audio from a2dp
setBluetoothA2dpOn (boolean on)
Android 2.3: How do I switch from SCO to A2DP for a capable Bluetooth speaker?
但到处都发现了相同的...
public void setBluetoothA2dpOn (boolean on)
This method is deprecated.
Do not use.
请指导我如何做到这一点..或建议是否可以使用其他方式完成..任何帮助/建议表示赞赏 .
EDIT :
清单中的许可:
<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);
}
}
2 回答
我推荐你这个链接请试试这个
我这个链接可以帮助你
以下是服务中蓝牙A2DP的实现 . 您可以参考此代码并构建自己的代码 .
A2DP Bluetooth Service