RtAudio与DirectSound、ASIO和WASAPI

之前写过一篇文章,谈到我在折腾 RtAudio 5.0 版本。它支持 DirectSound、ASIO和WASAPI 三种底层,最初的时候,使用 DS 肯定是最省事了,上篇文章也实现了这个功能。但它的问题是,如果每次“喂”给DS的音频流只有 96 个 samples,就会因为太短而导致声音支离破碎。

使用 ASIO、WASAPI 几乎不需要修改代码,可以解决这个问题。但需要注意几个点。

1、 DS、ASIO和WASAPI都支持16bit sint 的采样格式。
2、ASIO 必须得 48k 采样率(也许44.1k以上都行,但没试过),32k不出声,无提示。
3、WASAPI 的 channel 数不能为 1,不然没任何提示,就是不出声音。我们改用 2 个通道就好了。也许需要 2 个或以上才行,但我们没有试更多的情况。2019.1.30更新:给官方提了issue #180,已经修复了,channel数可以为 1。
4、ASIO 需要安装 ASIO4all 驱动,但它的官网好像挂了,csdn download 或其他地方可以下载到汉化或魔改的版本的,经测试还是可用的。
5、WASAPI 需要 windows vista 或更高的版本,win10 以下的都需要打 SP,但具体到 SP 几需要自自己找下。我们在 windows 7 + sp1 上是可以的。
6、ASIO和WASAPI的实时性非常好。
7、RtAudio 相关的分享非常少,估计现在我这两篇是中文网络上最有价值的相关资料了。但我只是临时性地用一下,不会长久用,如果你将来有新的问题,估计我也帮不上。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值