我有一个wav文件,持续时间: 00:00:00.17 (不到一秒!)
当我调用play来执行它时,play可以很好地执行它,但是我的终端在播放过程完成之前会空闲4s。
这是故意的吗?你能在不到一秒钟的时间内播放这个声音吗?
编辑:按照time的建议运行@jsbillings:
File Size: 1.89k Bit Rate: 90.3k
Encoding: Unsigned PCM
Channels: 1 @ 8-bit
Samplerate: 11025Hz
Replaygain: off
Duration: 00:00:00.17
In:100% 00:00:00.17 [00:00:00.00] Out:1.85k [!=====|=====!] Clip:0
Done.
real 0m2.912s
user 0m0.004s
sys 0m0.008s发布于 2011-02-12 00:01:33
我认为这是正常的声音系统延迟(主要是缓冲)以及程序流的工件(缓冲区、同步i/o、轮询)。正在播放的环形缓冲区S可能比仅持续了00:00:00.17秒的小示例大得多。
这种延迟是否与样品的持续时间成正比?较长的样品有较小的延迟吗?我希望一个更大的样本(比如一两秒钟)可以减少这类延迟。
声音可能是非常棘手的东西,特别是当你仔细观察那些细腻的砂砾时。如果我上面说的是真的(关于更长的样本大小),我会说这对于您使用的任何声音子系统来说都是正常的。
我自己使用脉冲音频来处理低延迟的东西(比如游戏中的枪炮),但是你描述的问题实际上与低延迟无关;这更多的是一个软件等待硬件告诉它什么时候完成整个缓冲区的问题,这比它所包含的示例要大。
如果我做错了什么,请指出给我看。谢谢:)
https://unix.stackexchange.com/questions/7067
复制相似问题