「オンデマンド」でサウンドを再生したい。プログラムしたいのは、シンプルなドラムマシンです。
DirectShow をメモリ バッファから読み取らせることは可能ですか?(C++ で作成されたオブジェクト)
私は考えています:
たとえば、40000 ポジションのバッファを作成しますdouble
(サウンドとして使用する実際のデータ型がわからないため、間違っている可能性がありますdouble
)。
40000 ポジションを 1 秒間再生できます。
DirectShow オブジェクトは、このバッファの位置を何度も読み取ることになっています。バッファには、サウンドの出力の実際の値が含まれます。例 (サインのような出力):
{0, 0.4, 0.7, 0.9, 0.99, 0.9, 0.7, 0.4, 0, -0,4, -0.7, -0.9, -0.99, -0.9, -0.7, -0.4, 0}
このサウンド シーケンスの解像度はおそらくそれほど良くありませんが、私が言いたいことを表示するためだけのものです。
これは可能ですか?Google で例や情報を見つけることができません。
編集: DirectShow とストリーミング ビデオ (UBS カメラ) に取り組んでいるとき、Sample Grabber と呼ばれるものを使用しました。これは、カムからすべてのフレームに対してメソッドを呼び出しました。私は似たようなものを探していますが、音楽用であり、音楽が再生される前に呼び出されるものです。ありがとう