持続時間が00:00:00.17(1秒未満!)のwavファイルがあります。
play
実行を呼び出すとplay
正常に実行されますが、再生プロセスが完了するまで、端末は約4秒間アイドル状態になります。
これは意図的に設計されていますか?サウンドを再生して1秒以内に完了することは可能ですか?
編集する: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
ベストアンサー1
私はこれが通常のサウンドシステムの待ち時間(主にバッファリング)であり、プログラムフロー(バッファ、同期I / O、ポーリング)のアーティファクトだと思います。再生されるリングバッファは、おそらく00:00:00.17秒間しか持続しない悪いサンプルよりはるかに大きいでしょう。
この遅延はサンプル期間に比例しますか?つまり、サンプルが長いほど遅延は小さくなりますか?この遅延を減らすために、より大きなサンプル(1〜2秒など)を使用したいと思います。
サウンドは非常にトリッキーである可能性があり、特に詳細に近づくとさらによくなります。上記のものが(長いサンプルサイズに関して)真であれば、使用しているサウンドサブシステムに関係なく、これが正常であると言いたいと思います。
私自身は、遅延時間の短い項目(ゲームの合計など)にパルスオーディオを使用しますが、説明する問題は実際には低遅延に関連するのではなく、ハードウェアがバッファ全体を再生するタイミングを知らせるのを待つソフトウェアの問題です。含まれているサンプルよりも大きい。
私が間違った部分がある場合はご指摘ください。ありがとうございます:)