मेरे पास hfp का उपयोग करते हुए एक हैंड्स फ्री क्लाइंट डिवाइस के रूप में एक एंड्रॉइड डिवाइस है।
मैं एक कॉल प्राप्त करने में सक्षम हूं और स्पीकर और माइक अपेक्षित रूप से काम कर रहे हैं।
मेरी समस्या यह है कि मैं वॉल्यूम को नियंत्रित नहीं कर सकता।
मैंने सही स्ट्रीम खोजने के लिए कोड की निम्नलिखित पंक्तियों का उपयोग करने की कोशिश की, लेकिन उनमें से कोई भी काम नहीं करता है।
मैंने फ़ोन से क्लाइंट को क्लास में भेजे जा रहे वॉल्यूम कमांड को ट्रैक किया HeadsetClientStateMachine
, लाइन # 1822 को नीचे दिए गए लिंक में: HeadsetClientStateMachine से लॉलीपॉप
case EVENT_TYPE_VOLUME_CHANGED:
if (event.valueInt == HeadsetClientHalConstants.VOLUME_TYPE_SPK) {
mAudioManager.setStreamVolume(AudioManager.STREAM_BLUETOOTH_SCO, event.valueInt2, AudioManager.FLAG_SHOW_UI);
mVgsFromStack = true;
Log.d(TAG, "EventVolumeChange STREAM_BLUETOOTH_SCO value: " + event.valueInt2);
}
जब मैं फोन पर वॉल्यूम बदलता हूं, तो मैं ध्वनि के अपडेटेड मूल्य को दिखाते हुए लॉग को देखता हूं, जिसका अर्थ है कि setStreamVolume()
विधि को बुलाया जा रहा है, लेकिन वॉल्यूम नहीं बदलता है।
क्या किसी को पता है कि इस मुद्दे का क्या कारण हो सकता है?
संपादित करें:
मैं अभी भी एक उत्तर की तलाश कर रहा हूं और अब ऑडियो एचएएल कार्यान्वयन की ओर देख रहा हूं। मुझे संदेह है कि HAL और ऑडियो ड्राइवर के बीच लिंक किसी तरह गलत है ... मुझे निम्न स्तर के कार्यान्वयन के बारे में ज्यादा जानकारी नहीं है और मुझे यकीन नहीं है कि मुझे क्या देखना चाहिए।