从android应用程序向任何可用的扬声器(如A2DP、车载扬声器等)传输和播放音频
从我的android应用程序中,我想将音频流传输到任何可用的扬声器,如从android应用程序向任何可用的扬声器(如A2DP、车载扬声器等)传输和播放音频,android,audio-streaming,docking,bluetooth-sco,Android,Audio Streaming,Docking,Bluetooth Sco,从我的android应用程序中,我想将音频流传输到任何可用的扬声器,如A2DP扬声器、docking扬声器或car扬声器 为此,我想使用蓝牙连接和蓝牙连接流 我看到了以下链接 但无论在哪里我都发现了同样的。。i、 e public void setBluetoothA2dpOn (boolean on) This method is deprecated. Do not use. 请指导我如何做到这一点,或者建议是否可以用其他方式做到这一点。。 欢迎提供任何帮助/建议 编辑: 清单中
A2DP
扬声器、docking
扬声器或car
扬声器
为此,我想使用蓝牙连接和蓝牙连接流
我看到了以下链接
但无论在哪里我都发现了同样的。。i、 e
public void setBluetoothA2dpOn (boolean on)
This method is deprecated.
Do not use.
请指导我如何做到这一点,或者建议是否可以用其他方式做到这一点。。
欢迎提供任何帮助/建议
编辑:
清单中的权限:
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
我向你推荐此链接,请尝试此链接
我觉得这个链接可以帮助你这里是一个蓝牙A2DP在服务中的实现。您可以参考此代码并构建自己的代码
我接受这个答案,但请就此向我解释更多。因为我仍然不清楚如何实现这一点。在使用此文档时,您会遇到哪些问题@userSeven7s:我面临的问题是,我无法检测到其他设备是否也是A2DP,因此缓冲音频时出现问题粘贴一些您尝试使用的代码…@userSeven7s:请参阅编辑的问题您可以分享此示例代码吗?但为此,我必须在清单中添加
和
@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);
}
}