将 RtAudio 与 Core-Audio 一起使用,probeDeviceOpen 函数失败
Posted
技术标签:
【中文标题】将 RtAudio 与 Core-Audio 一起使用,probeDeviceOpen 函数失败【英文标题】:Using RtAudio with Core-Audio, the probeDeviceOpen function fails 【发布时间】:2011-07-11 21:40:23 【问题描述】:我正在尝试编写一个播放实时处理音频的 C++ 程序。我决定使用 RtAudio 但无法让测试程序播放音频。
我使用的是 Mac OS X,所以我使用 ./configure --with-core
和 make
编译。编译完test目录下的文件后,我运行./audioprobe
返回这个列表。
Compiled APIs:
OS-X Core Audio
Current API: OS-X Core Audio
Found 3 device(s) ...
Device Name = Apple Inc.: Built-in Microphone
Probe Status = Successful
Output Channels = 0
Input Channels = 2
Duplex Channels = 0
This is NOT the default output device.
This is NOT the default input device.
Natively supported data formats:
32-bit float
Supported sample rates = 44100 48000 88200 96000
Device Name = Apple Inc.: Built-in Input
Probe Status = Successful
Output Channels = 0
Input Channels = 2
Duplex Channels = 0
This is NOT the default output device.
This is the default input device.
Natively supported data formats:
32-bit float
Supported sample rates = 44100 48000 88200 96000
Device Name = Apple Inc.: Built-in Output
Probe Status = Successful
Output Channels = 2
Input Channels = 0
Duplex Channels = 0
This is the default output device.
This is NOT the default input device.
Natively supported data formats:
32-bit float
Supported sample rates = 44100 48000 88200 96000
由于内置输出设备是索引2,所以我跑了./playsaw 2 44100 2
,但是出现了错误:
RtApiCore::probeDeviceOpen: system error (kAudioHardwareUnknownPropertyError)
getting stream format for device (2).
如何解决这个问题?
【问题讨论】:
【参考方案1】:你在 Lion (10.7) 上吗?我在旧系统(10.6.x)上看到了同样的问题,RtAudio 对我来说很好。
也许你可以降级到 RtAudio 4.0.6,这在 Lion 上对我有用,但仍然存在一个隐藏在 4.0.8 中修复的设备名称的错误。
【讨论】:
我以为这个问题永远不会得到回答,但这似乎解决了问题。非常感谢。 似乎 4.0.10 解决了这个问题。以上是关于将 RtAudio 与 Core-Audio 一起使用,probeDeviceOpen 函数失败的主要内容,如果未能解决你的问题,请参考以下文章
为啥将@Transactional 与@Service 一起使用而不是与@Controller 一起使用