서비스 중에 많은 잡음도 있고 버그도 많고 ㅠㅠㅠㅠㅠㅠ
그 중에 많은 라이더들이 블루투스 헷멜으로 일을 하고 계신다.
그러다 보니 블루투스 헬멧을 사용할땐 그 소리가 헬멧으로만 나게끔 해야하는데
블루투스헬멧 뿐만 아니라 휴대폰에서도 소리가 아~~~~~~~~주 크게 나니
엘베 탈때 부끄럽다. 시끄럽다. 많은 피드백이 있었다.
그래서 그 부분을 해결하기 위해 오늘 하루종일 검색검색하였다.
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
int volume = am.getStreamVolume(AudioManager.STREAM_MUSIC);
am.stopBluetoothSco();
am.setBluetoothScoOn(false);
am.setSpeakerphoneOn(true);
am.setMode(AudioManager.MODE_NORMAL);
AudioDeviceInfo[] devices = am.getDevices(AudioManager.GET_DEVICES_OUTPUTS);
for (AudioDeviceInfo device : devices) {
if (device.getType() == AudioDeviceInfo.TYPE_BLUETOOTH_A2DP) {
am.setMode(AudioManager.MODE_IN_COMMUNICATION);
am.startBluetoothSco();
am.setBluetoothScoOn(true);
am.setSpeakerphoneOn(false);
}
}
MediaPlayer mp = new MediaPlayer();
mp = MediaPlayer.create(MenuActivity.this,R.raw.noti_sound);
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.start();
이게 내가 찾아서 만든 코드이다.
AudioManager는를 통해서 소리를 어디로 보낼지 결정하며,
setBluetoothScoOn(false); //블루투스소리끔
setSpeakerphoneOn(true); //내장스피커소리켬
이걸 설정하면 소리를 어느쪽에 보내는지 가능하다.
그리고 AudioManager.GET_DEVICES_OUTPUTS 이게 지금현재 블루투스랑 연결되어있는 모든 디바이스를 확인하고
그중에 TYPE_BLUETOOTH_A2DP 이 타입으로 연결된 블루투스가 있다면
설정을 반대로 바꿔주는 형식으로 만들었다.
방금 들어온 소식으로는 잘 된다고 하니 오늘 6시간 검색이 헛고생이 아니였구나 싶다.
인터넷에 많은 코드들이 돌아다니지만 나한테 맞는 코드를 찾기란 정말 쉽지 않은거 같다.
오늘도 큰산을 하나 넘은 기분이다!
'안드로이드 코드' 카테고리의 다른 글
20201228 ViewSwitcher 아주 훌륭해! (0) | 2020.12.28 |
---|---|
20201228 안드로이드 위로 올려 프로그램 종료 (0) | 2020.12.28 |
나혼자보는 카카오맵 총정리 (0) | 2020.11.08 |
안드로이드) 스크롤뷰 안에 구글지도 (0) | 2020.09.23 |
안드로이드) 스크롤뷰 안에 카카오지도 (0) | 2020.09.23 |
댓글