windows - C++ / W32-サウンドの録音、Direct ShowまたはWaveInOpen?

windows winapi visual-c++ audio record

WinXP、Vista、Win7 ++を考えるときに選択するもの:


ダイレクトショー/ダイレクト...でオーディオを録音する
従来のWaveInOpenを使用します(これはW7 / W8で修正されると誰かが言っているところを見たことがあります-可能ですか?)


Ps。バッファーをエンコーダーに渡すために、コールバック機能が必要です。

ありがとう!
答え
WaveInは使いやすく、ネット上には多くのサンプルコードがあり、必要な方法でコールバックを提供します。

DirectSoundは循環バッファを使用するため、設定が少し面倒な場合があります。おそらく、「バッファを埋めるだけ」ではなく、循環バッファを処理する必要があります。ただし、DirectSoundを使用すると、オーディオをより厳密に制御できます。つまり、レイテンシが少し向上します。

IMO、MicrosoftがWave APIを非推奨/削除することはほとんどありません。彼らは何千ものアプリケーションを壊すでしょう。 MSがWindowsからコアAPIを削除したことはないと思います。

簡単にするために、Wave APIを使用します。
関連記事

windows - libusb-win32:ドライバーフィルターの自動インストール

c# - ファイルのICopyHook.CopyCallbackまたはその代替はありますか?

windows - PowerShellを使用して、空のフォルダーのリストをあるボリュームから別のボリュームに移動する

windows - Windowsでユーザーを作成せずにパスワードが有効かどうかを確認することはできますか?

windows - 複数のクライアントデータベースをホストするためのVPS上のMicrosoft SQL Server-これは正しい方法ですか?

windows - バッチファイルによる特定のファイルサイズチェック

ruby - Windowsでのrmagickの問題

c++ - メッセージループが別のスレッドにあるときにウィンドウが閉じるまで待機する

windows - アプリケーションのインストーラーを選択するときに、どの機能を考慮する必要がありますか? [閉まっている]

c - Cでfopenを使用してWindowsで長いファイル名を開く