Android中可以通过使用MediaRecorder.AudioSource.REMOTE_SUBMIX来实现系统声音的录制,这个属性只有系统应用能够使用,而且这个属性会截掉耳机和扬声器的声音,让我们听不到手机中播放音乐或者视频时的声音,而录制结束后会发现播放录制好的文件是有这些声音的。这显然不是我们想要的效果,这个时候我们可以通过修改底层C++代码来打开。这个方法仅使用于系统定制开发,三方APP就没有办法了。
源码文件路径:

frameworks\av\services\audiopolicy\enginedefault\src\Engine.cpp

在Engine.cpp中找到:

if (strategy != STRATEGY_SONIFICATION) {// no sonification on remote submix (e.g. WFD)if (availableOutputDevices.getDevice(AUDIO_DEVICE_OUT_REMOTE_SUBMIX,String8("0")) != 0) {device2 = availableOutputDevices.types() & AUDIO_DEVICE_OUT_REMOTE_SUBMIX;}
}

改为:

if (strategy != STRATEGY_SONIFICATION) {// no sonification on remote submix (e.g. WFD)if (availableOutputDevices.getDevice(AUDIO_DEVICE_OUT_REMOTE_SUBMIX,String8("0")) != 0) {device2 = availableOutputDevices.types() & AUDIO_DEVICE_OUT_REMOTE_SUBMIX;device2 |= (availableOutputDevices.types() & AUDIO_DEVICE_OUT_WIRED_HEADPHONE);device2 |= (availableOutputDevices.types() & AUDIO_DEVICE_OUT_SPEAKER);}
}

这样,在使用 REMOTE_SUBMIX 这种模式录制音频时我们就能听到手机播放音视频等的声音了。

Android 9.0实现系统内录(只录制系统声音)相关推荐

  1. mac如何同时录制系统和麦克风声音或只录制系统声音

    MAC录屏时的系统声音以及麦克风问题 推荐直接appstore下载record it,然后打开软件根据软件提示安装blackhole插件. 之后就可以关掉该软件了,不用升级会员,以后我们录屏可以不再打 ...

  2. Mac录屏同时录制系统声音和画外音(Soundflower无法安装解决方案)

    个人博客地址:xzajyjs.cn 前言 以前一直有录屏的需求,但苦于自带的QuickTime 无法录制内屏声音,一直使用的是第三方的app.近期开腾讯会议需要录屏,但主持人本身没有开启录屏权限,只好 ...

  3. Macbook windows 10系统下录屏软件无法录制系统声音的问题

    Macbook Windows 10系统下录屏软件无法录制系统声音的问题 问题原因 Virtual Audio Cable 下载与安装 以Obs-Studio为例进行测试 录屏完成 参考教程链接 问题 ...

  4. M1 macOS 无法录制系统声音?SoundFlower后继有BlackHole【macOS系统声音内录】

    SoundFlower 众所周知,QuickTime无法录制系统声音,在macOS之前的版本,和M1(Apple Silicon)没问世之前,SoundFlower一直都是首选!可惜SoundFlow ...

  5. python录制视频和声音_python录制系统声音

    环境准备 python wave pyaudio wave 可以通过pip直接install,在安装pyaudio时,通过正常的pip install 直接安装一直处于报错阶段,后来想到可以通过轮子直 ...

  6. Q版本 安卓手机录制系统声音

    Android Q 包含一个新的 AudioPlaybackCapture API.应用可以借助此 API 复制其他应用正在播放的音频.该功能类似于屏幕采集,但针对的是音频.主要用例是影音在线播放应用 ...

  7. ffmpeg录制系统声音

    之前本人写过ffmpeg录制系统声音的博客,但是用到的设备名称叫做virtual-audio-capturer,需要实现安装一个软件,ffmpeg才能找到这个设备,很不方便: 今天用windows a ...

  8. python声音捕获_使用 Python 的 sounddevice 包录制系统声音

    sounddevice是一个与Numpy兼容的录音以及播放声音的包. 安装sounddevice包 直接通过pip就能安装. pip install sounddevice 播放音乐 首先,用nump ...

  9. Mac,obs桌面音频禁用,无法录制系统声音,问题修复最佳实践!

    支持: MacOS 10.15及更高版本,Intel & M1可原生运行 问题: obs仅能录制麦克风,不能录制系统声音:obs设置显示"桌面音频禁用" 解决: 利用Loo ...

最新文章

  1. 学生服务器选用什么系统,学生云服务器系统选择
  2. webpack 打包ts项目_使用webpack打包ts
  3. 网络专业人士笔记(1~4章)
  4. 深入理解计算机系统(1.3)---金字塔形的存储设备、操作系统的抽象概念
  5. 开启AngularJs之旅
  6. 关联容器的插入操作简单举例
  7. spring-security-学习笔记-02-基于Session的认证方式
  8. Ubuntu 安装 Eclipse C/C++开发环境
  9. PDMS二次开发应用案例——PipelineTool
  10. java疯狂讲义第四章练习题
  11. 希尔伯特空间、欧几里德空间
  12. oracle 存储 秘密,鲜为人知的Exadata存储性能秘密
  13. android 减小apk大小,Android Studio如何减小APK体积
  14. stm32h7内存分配_【STM32H7教程】第26章 STM32H7的TCM,SRAM等五块内存的超方便使用方式...
  15. 数据库添加账号(mongoDB)
  16. 怎样卸载腾讯网页游戏微端服务器,如何删除腾讯页游微端启动器
  17. java openCV调用摄像头并以窗体显示出来
  18. 开源物联网终端设备操作系统
  19. 域名使用HTTPS的相关配置
  20. Win10使用WMIC提示“WMIC已弃用”

热门文章

  1. 软件卸载不干净怎么办?智能卸载轻松搞定!
  2. [转帖]软盘修复、数据恢复全攻略
  3. 校企合作计算机专业共建协议书,校企合作共建实训基地协议书
  4. 仿 36Kr Banner
  5. VM虚拟机:找不到文件解决办法
  6. [附源码]计算机毕业设计Python的党务管理系统(程序+源码+LW文档)
  7. C++模板学习笔记——模板实参
  8. 用单片机c51电子秤的c语言,基于hx711的51单片机电子秤设计
  9. 超强视频剪切工具Boilsoft Video Splitter7.02.2中文免费绿色版_我是亲民_新浪博客...
  10. GNSS PPP和PPK区别