我尝试使用新的 AudioPlaybackCapture 方法在 Android 10 设备中录制一些媒体。但不幸的是,我使用这个 API 的代码似乎运行得不好。在这里,我使用了一个启动单独的媒体录制服务的活动。该服务注册到广播接收器以开始和停止录制。并且广播意图是通过单击按钮(开始、停止)使用我的主要活动触发的,没有打印任何异常。该文件也会在所需位置创建。但没有内容(0字节)。已给出所有必需的清单和运行时权限。我在这里做错了什么。以下是启动服务和启动/停止操作的主要活动的摘录。public class MainActivity extends AppCompatActivity { public static final String LOG_PREFIX = "CALL_FUNCTION_TEST"; private static final int ALL_PERMISSIONS_PERMISSION_CODE = 1000; private static final int CREATE_SCREEN_CAPTURE = 1001; Button _btnInitCapture; Button _btnStartCapture; Button _btnStopCapture; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); _btnGetOkPermissions = findViewById(R.id.btnGetOkPermissions); _btnGetOkPermissions.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { checkOkPermissions(); } }); _btnInitCapture = findViewById(R.id.btnInitCapture); _btnInitCapture.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { initAudioCapture(); } }); _btnStartCapture = findViewById(R.id.btnStartCapture); _btnStartCapture.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startRecording(); } }); _btnStopCapture = findViewById(R.id.btnStopAudioCapture); _btnStopCapture.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { stopRecording(); } }); }
1 回答
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
好吧,没有什么是isRecording
真的。另外,您正在以阻塞方法进行录制,但您处于 UI 线程上,这应该会导致您的界面在开始录制后立即冻结。
添加回答
举报
0/150
提交
取消