是否可能在Android中同时使用Echoprint的两个AudioRecord实例?

时间:2012-09-06 11:37:02

标签: android audio audio-recording audiorecord audio-fingerprinting

大家好!提前抱歉我的英文。 :)

我正在尝试使用Echoprint代码制作音频识别应用。一个实例工作正常,但我们想同时听几个AudioRecords。例如,我们不想分析20秒的歌曲进行识别,而是希望有3个音频录音机和3个匹配来改善结果。

实施例。一个人听从0到20s,另一个听从0到10s,另一个听从10s到20s。这样我们就会有3个匹配 - 响应,我们希望它能在短时间内为我们提供更高的准确性或更多匹配音频的可能性(我们需要在5-15秒内匹配)。

问题是,我有来自http://masl.cis.gvsu.edu/2012/01/25/android-echoprint/的代码 我有一个课程叫做创造所有人的图书馆。我试图在类中创建几个线程,所以每个人都有自己的库类实例,但总是在第二个 AudioRecord的实例化中失败:

new AudioRecord(MediaRecorder.AudioSource.MIC,FREQUENCY, CHANNEL, ENCODING, minBufferSize); 

如果我在第二个线程中睡觉,为了让第一个完成,一切都没问题。问题在于实例化......错误是:

AudioRecord:无法获取记录源1的音频输入 AudioRecord:创建AudioRecord实例时出错:初始化检查失败。 AudioRecord:[Android.media.AudioRecord]初始化原生AudioRecord对象时的错误代码-20

所以,我有两个问题:

  1. 问题是,如果无法同时收听多个AudioRecords实例。就像只有一个频道,设备,输入设备,端口等等来监听,如果它正忙,它会崩溃,直到你发出audiorecord.release()?在这两个我使用麦克风和相同的渠道....也许这是问题?如果是那样......我该如何正确地做到这一点?

  2. 此外,我在模拟器中...在真实设备中它可以工作,但不在模拟器中?

  3. 致以诚挚的问候,真诚地感谢所有人!

0 个答案:

没有答案