Android音频录制方案,Android录音,录制其他App播放的声音

  • Post author:
  • Post category:其他


Android录音,录制其他App播放的声音

从Android10(SDK 29)版本开始,可以设置录音App的源为其他App,这样就可以录制其他App播放的声音

此方案有以下注意几点

设置了源为其他App后,就不能设置默认源为麦克风了

录音的线程只能在Service里,这个Service只能是前台Service

具体实现步骤

首先需要在被录音的App的AndroidManifest里面的application元素里设置属性 android:allowAudioPlaybackCapture=”true”,这样才可以让其他App来录音此App

通过 MediaProjectionManager 获取Intent

// 下面两行代码在onCreate里面,用于在启动时请求MediaProjectionManager

MediaProjectionManager mediaProjectionManager = (MediaProjectionManager) getSystemService(MEDIA_PROJECTION_SERVICE);

startActivityForResult(mediaProjectionManager.createScreenCaptureIntent(), 2000);

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (resultCode == Activity.RESULT_OK && requestCode == 2000) {

if (data != null) {

code = resultCode;

dataIt = data;

}

}

}

// MediaProjectionPermissionActivity.java

private Intent getMediaProjectionIntent(int uid, String packageName)

throws RemoteException {

IMediaProjection projection = mService.createPr