0

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

  • 如果我不修改任何混音器控件,我会收到“无法打开 PCM 设备 - 找不到设备错误”
  • 当我将其中一个 Multimedia1 开关设置为打开时(例如 MultiMedia1 Mixer SLIM_4_TX),我收到一条错误消息,提示设置硬件参数失败。

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

编辑:
经过一番挖掘,我发现 in pcm_opensetting pcm params 在以下调用中失败:

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

如何正确设置参数以便pcm_open成功?我看不出参数有任何问题(顺便说一句,在其他设备上工作)

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

感谢帮助者

4

0 回答 0