From 213a6f8552999ff50ff82888691ffbe9e31abf8c Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Tue, 26 Aug 2025 20:51:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E9=9F=B3=E9=A2=91=E5=A4=84=E7=90=86):=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8D=A3=E8=80=80=E8=AE=BE=E5=A4=87=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=E6=96=B9=E6=B3=95=EF=BC=8C=E4=BB=85=E5=9C=A8=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=E5=88=B0=E8=8D=A3=E8=80=80=E8=AE=BE=E5=A4=87=E6=97=B6?= =?UTF-8?q?=E5=90=AF=E7=94=A8=E9=80=9A=E8=AF=9D=E9=9F=B3=E9=A2=91=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../azure_speech/tools/SimpleAudioReceiver.kt | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/tools/SimpleAudioReceiver.kt b/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/tools/SimpleAudioReceiver.kt index 0505ff46d..bec452ee3 100644 --- a/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/tools/SimpleAudioReceiver.kt +++ b/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/tools/SimpleAudioReceiver.kt @@ -16,6 +16,7 @@ import android.media.AudioManager import android.media.AudioFocusRequest import android.media.AudioAttributes import com.yunqiinnovation.azure_speech.tools.RecordFile +import android.os.Build // 新增:用于获取设备信息 /** * 简单音频接收器类,用于处理音频录制和流传输 @@ -232,13 +233,35 @@ class SimpleAudioReceiver(private val context: Context) { } } + /** + * 判断是否为荣耀手机 + * @return true 如果是荣耀手机,false 否则 + */ + private fun isHonorDevice(): Boolean { + val brand = Build.BRAND?.lowercase() ?: "" + val manufacturer = Build.MANUFACTURER?.lowercase() ?: "" + val model = Build.MODEL?.lowercase() ?: "" + + // 检查品牌、制造商或型号中是否包含荣耀相关标识 + return brand.contains("honor") || + manufacturer.contains("honor") || + model.contains("honor") || + brand.contains("荣耀") || + manufacturer.contains("荣耀") + } + /** * 运行麦克风捕获 */ private fun runMicrophoneCapture() { try { - // 首先设置通话音频模式 - //setupCommunicationAudioMode() + // 根据手机品牌决定是否设置通话音频模式 + if (isHonorDevice()) { + Log.d(TAG, "检测到荣耀设备,启用通话音频模式") + setupCommunicationAudioMode() + } else { + Log.d(TAG, "非荣耀设备,跳过通话音频模式设置") + } val supportedSampleRates = intArrayOf(16000, 8000, 11025, 22050, 44100) val sampleRate = supportedSampleRates.firstOrNull { rate -> val bufferSize = AudioRecord.getMinBufferSize(rate, channelConfig, audioFormat)