APQ8064 alsa录音

时间:2015-03-02 11:25:06

标签: android alsa nexus-4 tinyalsa

我有一台Nexus 4设备(带有APQ8064声卡的msm8960) 我正在尝试使用tinyalsa tinycap实用程序从主设备(pcmC0P0c)录制音频,但我遇到以下问题:

  • 如果我不修改任何混音器控件,我会收到“无法打开PCM 设备 - 找不到设备错误“
  • 当我设置Multimedia1之一时 切换到开(例如MultiMedia1 Mixer SLIM_4_TX)我收到错误 说设置hw params失败了。

所以,我的问题是:如何知道哪些控件设置为On(和/或设置其他控件的内容)以便成功捕获音频?

修改
经过一番挖掘后,我发现pcm_open设置pcm参数在以下调用中失败:

 if (ioctl(pcm->fd, SNDRV_PCM_IOCTL_HW_PARAMS, &params)) {
    oops(pcm, errno, "cannot set hw params");
    goto fail_close;
}

如何正确设置参数以使pcm_open成功?我看不出任何参数问题(BTW在其他设备上工作)

编辑2:
我看到的问题是周期大小和周期数 - 我不能分别设置在150和2以上。当我更改它们时pcm_open成功但pcm_read失败并显示“启动错误”消息

感谢帮助者

0 个答案:

没有答案