当前位置: 首页 > 知识库问答 >
问题:

如何检查另一个记录仪是否运行?

景成和
2023-03-14

我使用AudioRecords API在我的应用程序中录制音频(WAV),它成功录制。但是当我在后台运行其他录制应用程序时尝试录制时,我的应用程序的行为很奇怪。

当另一台录音机正在运行时,MediaRecorder API会在尝试开始录制时引发异常,但AudioRecorder API会初始化录音机实例并且不会引发任何异常,因此我无法识别是否有任何录音机实例正在运行。

这种情况已经在三星S3的默认录音机中处理过,当我尝试录制它时说

“ 无法开始新录制。其他应用程序已录制”

在我的应用程序的记录器启动之前,我如何确定是否有其他记录器正在运行?

共有1个答案

林鹭洋
2023-03-14

我已经找到了解决这个问题的办法。

由于AudioRecord不像MediaRecorder API那样不会抛出任何异常,所以我选择了另一种解决方法。

当另一个记录器实例运行时,我发现read方法返回0而不是ERROR_INVALID_OPERATION或ERROR_BAD_VALUE。因此,如果第一次读取操作返回0,我会显示一条错误消息,为“记录器无法初始化”。

 类似资料:
  • 问题内容: 假设我有一个西服套装和四个西服套装子类别:Heart,Spade,Diamond和Club。 我有一个方法,该方法接收西装作为参数,这是一个类对象,而不是实例。更准确地说,它可能仅接收以下四个值之一:Heart,Spade,Diamond,Club。我该如何做出保证这种事情的断言?就像是: 我正在使用Python 3。 问题答案: 您可以使用像这样。

  • 我得到 我怀疑这是因为两者都是。

  • 我的两个列表中有以下元素,清单1[A F K]和清单2[B A C F K]。清单1的所有元素都在清单2中,因此它应该返回true 我尝试使用list1.containsAll(list2),但它并不支持我。 我尝试在这两个列表中循环,如果找到匹配,我就清空第一个列表中的那个位置,但这不起作用,因为我认为它会受到并发修改的影响。这是我的代码 在这里,subTreeList最终输出[A]。我知道它会

  • 问题内容: 我对此有一些奇怪的问题。 我们正在使用Xvfb虚拟桌面管理器,并希望在继续之前确保其正在运行。使用纯外壳,我可以轻松地做到这一点: 这正是我所需要的,只有一行包含有关Xvfb proc的信息。接下来,我要将其合并到我的Java程序中并解析结果并存储正在运行的Xvfb进程的PID。所以我正在尝试: 奇怪的是,如果我使用“ ps -ef”,则在运行我的应用程序时,会得到大量的进程转储到控制

  • 如何检查一个给定的文件是否在另一个文件下?例如,我有< code>new Paths.get("/foo/bar/" 和< code > new paths . get("。/abc/def.jar")。我想检查第二个是否在< code>/foo/bar下。 我可以找出一些基于字符串的比较,比如< code>path.toFile()。getAbsolutePath()。startsWith(pa

  • 问题内容: 我是Laravel的新手。请原谅新手问题,但是如何查找记录是否存在? 我在这里可以查看是否有记录? 问题答案: 这取决于您之后是否要与用户一起使用,还是仅检查是否存在。 如果要使用用户对象(如果存在): 如果您只想检查 甚至更好