使用蓝牙耳机在奥利奥录音问题
Posted
技术标签:
【中文标题】使用蓝牙耳机在奥利奥录音问题【英文标题】:Audio recording issue in Oreo using Bluetooth headset 【发布时间】:2018-05-23 06:21:52 【问题描述】:在我的应用程序中录制在前台服务中的音频。我在连接蓝牙 SCO 后开始录制。它从 android KitKat 到 Nougat 工作正常。但是当我尝试使用华为荣耀 8 (Android Oreo) 时,音频是从手机麦克风而不是蓝牙耳机麦克风录制的。当我尝试使用 Google Pixel 2 时,录音根本不起作用。
启动蓝牙 SCO
am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
registerReceiver(new BroadcastReceiver()
@Override
public void onReceive(Context context, Intent intent)
int state = intent.getIntExtra(AudioManager.EXTRA_SCO_AUDIO_STATE, -1);
Log.d(TAG, "Audio SCO state: " + state);
if (AudioManager.SCO_AUDIO_STATE_CONNECTED == state)
am.setBluetoothScoOn(true);
unregisterReceiver(this);
startRecord();
, new IntentFilter(AudioManager.ACTION_SCO_AUDIO_STATE_CHANGED));
am.startBluetoothSco();
录音配置
final int RECORDER_SAMPLERATE = 8000;
final int RECORDER_CHANNELS = AudioFormat.CHANNEL_IN_MONO;
final int RECORDER_AUDIO_ENCODING = AudioFormat.ENCODING_PCM_16BIT;
int bufferSize = AudioRecord.getMinBufferSize(RECORDER_SAMPLERATE,
RECORDER_CHANNELS, RECORDER_AUDIO_ENCODING);
recorder = new AudioRecord(MediaRecorder.Audiosource.MIC,
RECORDER_SAMPLERATE, RECORDER_CHANNELS, RECORDER_AUDIO_ENCODING, bufferSize);
【问题讨论】:
如果我在最初的问题中回答“否”,那么它就会得到回答。你还想要什么?请在您的问题中澄清。 @tiagoperes,这是我在尝试从蓝牙耳机录制音频时遇到的问题。我已经编辑了我的问题,希望现在更清楚。谢谢。 【参考方案1】:Android 已更改通过蓝牙进行通信的数据长度。查看https://developer.android.com/about/versions/oreo/android-8.0-changes
要解决此问题,许多 OEM 建议您可能需要擦除设备缓存。 https://forums.oneplus.com/threads/bluetooth-audio-is-ruined-after-oreo-update.699589/
查看此快速修复指南https://www.theandroidsoul.com/fix-android-oreo-bluetooth-issues/
Android oreo 问题的 10 个常见修复。 https://www.gottabemobile.com/android-oreo-problems-fixes/
以安全模式重新启动。 https://support.google.com/android/answer/7665064?hl=en&ref_topic=6023296&visit_id=1-636636939996434821-3584672143&rd=1
如果这有帮助,请告诉我。
【讨论】:
感谢 Mohit Ajwani,第一个链接与 ScanRecord 长度有关。与录制无关 不可能告诉所有用户擦除缓存,因为它只是一个应用程序。尝试了许多设备,但总是从电话麦克风捕获音频。其他链接也基于用户的观点。所以它也没有帮助。 我为同样的@Sujith 道歉。我会看看能否找到更多相关信息并回复您。【参考方案2】:我的华为荣耀9i也有这个问题。 我也发现从手机麦克风而不是蓝牙设备麦克风录音,但是当我打开一个音乐应用程序在后台播放音乐时,蓝牙麦克风工作。 所以我尝试在启动录音机时播放空白背景音乐,效果很好。
【讨论】:
以上是关于使用蓝牙耳机在奥利奥录音问题的主要内容,如果未能解决你的问题,请参考以下文章