当前位置: 首页 > wzjs >正文

宁夏网站设计全网营销的公司

宁夏网站设计,全网营销的公司,网站用什么软件做,视频网站制作教程视频遇到客户一个需求,如果连接了带mic的蓝牙耳机,默认所有的录音要走蓝牙mic通道。这个功能搞了好久,终于搞定了。1. 向RK寻求帮助,先打通 bt sco能力。此时,还无法默认就切换到蓝牙 mic通道,接下来我们需求默…

遇到客户一个需求,如果连接了带mic的蓝牙耳机,默认所有的录音要走蓝牙mic通道。

这个功能搞了好久,终于搞定了。

1. 向RK寻求帮助,先打通 bt sco能力。

此时,还无法默认就切换到蓝牙 mic通道,接下来我们需求默认切换到蓝牙通道。

2. 修改frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp,

默认走bt sco的mic录音输入源     

switch (inputSource) {
case AUDIO_SOURCE_DEFAULT:
case AUDIO_SOURCE_MIC:
device = availableDevices.getDevice(
AUDIO_DEVICE_IN_BLUETOOTH_A2DP, String8(""), AUDIO_FORMAT_DEFAULT);
if (device != nullptr) break;
if (audio_is_bluetooth_out_sco_device(commDeviceType)) {
device = availableDevices.getDevice(
AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET, String8(""), AUDIO_FORMAT_DEFAULT);
if (device != nullptr) break;
}
device = availableDevices.getFirstExistingDevice({
+                AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET,
AUDIO_DEVICE_IN_BLE_HEADSET, AUDIO_DEVICE_IN_WIRED_HEADSET,
AUDIO_DEVICE_IN_USB_HEADSET, AUDIO_DEVICE_IN_USB_DEVICE,
AUDIO_DEVICE_IN_BLUETOOTH_BLE, AUDIO_DEVICE_IN_BUILTIN_MIC});
break;


case AUDIO_SOURCE_CAMCORDER:
// For a device without built-in mic, adding usb device
device = availableDevices.getFirstExistingDevice({
-               AUDIO_DEVICE_IN_USB_DEVICE,
+              AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET, AUDIO_DEVICE_IN_USB_DEVICE,
AUDIO_DEVICE_IN_BACK_MIC, AUDIO_DEVICE_IN_BUILTIN_MIC});
break;
case AUDIO_SOURCE_VOICE_DOWNLINK:

3. 很关键的一步,在一个常驻service里边(或者可以在system ui模块实现)监听插入蓝牙耳机,进行默认sco模式切换

IntentFilter filter = new IntentFilter();
filter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED);
filter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED);
registerReceiver(myReceiver, filter);
BroadcastReceiver myReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {if (BluetoothDevice.ACTION_ACL_CONNECTED.equals(intent.getAction())) {Log.d("mod@bt", "bt connected");startBluetoothRecording(context);});} else if (BluetoothDevice.ACTION_ACL_DISCONNECTED.equals(intent.getAction())) {Log.d("mod@bt", "bt disconnected");stopRecording(context);}}}
};

    public void startBluetoothRecording(Context context) {
try {
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);

            if (!audioManager.isBluetoothScoOn()) {
audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
audioManager.setBluetoothScoOn(true);
audioManager.startBluetoothSco();
}
} catch (Exception e) {
e.printStackTrace();
}
}

    public void stopRecording(Context context) {
try {

            AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);

            if (audioManager.isBluetoothScoOn()) {
audioManager.setBluetoothScoOn(false);
audioManager.stopBluetoothSco();

            }

            audioManager.setMode(AudioManager.MODE_NORMAL);
audioManager.setSpeakerphoneOn(true);
} catch (Exception e) {
e.printStackTrace();
}
}

4. 如上操作后,每次即使应用选择了系统默认mic,也会走bt sco通道录音。

5. 当然,可能会遇到其他的优化问题,如果你有需求,欢迎给我留言。

http://www.dtcms.com/wzjs/214110.html

相关文章:

  • 生产厂家上什么网站做推广好太原今日新闻最新头条
  • php能自己做网站吗专注于seo顾问
  • 网站的seo优化怎么做网站建设的重要性
  • 网站建设做什么的郑州厉害的seo顾问
  • 移动互联网公司百度推广怎么优化
  • 网站搜索引擎优化案例qq群推广软件
  • 网站的系统建设方式深圳网络推广seo软件
  • 宜昌模板网站建设惠州seo外包
  • 华北理工大学学科建设处网站最近爆发什么病毒感染
  • SEO案例网站建设公司营销宣传图片
  • 网站建设相关知识山西网络营销外包
  • wordpress详细安装教程网站推广优化的方法
  • 怎么用挂靠的公司做网站成都百度推广账户优化
  • 北京网站建设好不好天上海网络推广联盟
  • 生存曲线哪个网站可以做关键词排名怎样
  • 能看各种网站的浏览器整站优化seo公司哪家好
  • 做网站运营需要有什么能力站长网站优化公司
  • 做电子商城网站郑州seo推广
  • 网站侧边栏设计北京sem
  • 做微信充值网站网络营销公司是做什么的
  • 设计不错的网站百度高级搜索引擎入口
  • 招商网站开发文档公司网站设计哪家好
  • 网站开源源码深圳百度国际大厦
  • 重庆做网站怎么做站长工具搜索
  • 建设银行百日营销网站seo常见优化技术
  • 购物网站建设开发关键词排名点击软件工具
  • 如何建立公司网站企业营销策划书如何编写
  • 网站开发职位注册网址在哪里注册
  • 网站开发了解客户需求百度推广开户多少钱
  • 国外图片设计网站有哪些十大免费域名