3

WaveInでマイク入力を取得して分析するプログラムをC++で作成しました。入力ソースをマイク入力からWindowsからのサウンド出力に変更するオプションが欲しいのですが、その方法が本当にわかりません。検索結果の多くはC#で表示されていたため、役に立ちませんでした。私に。アプリケーションの代金を払っている人は、それがC++であることを本当に望んでいます。

WaveInまたはおそらく別のAPIを使用してサウンド出力をキャプチャする方法を誰かが手伝ってくれますか?このプログラムはWindows7でのみ実行することを目的としており、現在Visual C++2010を使用してプログラムを作成しています。

4

3 に答える 3

0

WaveInデバイスを開くときはWAVE_MAPPER、デバイスIDとして使用する代わりに、デバイスを明示的に設定します

uDeviceIDで指定されたデバイス識別子は、0から存在するデバイスの数より1少ない数まで変化します-リンク

この方法ですべてのデバイスを閲覧できます。

  WAVEINCAPS wc; 

  /* Get the number of Digital Audio Out devices in this computer */ 
  int n_devices = waveInGetNumDevs(); 

  for (int i = 0; i < n_devices; i++) 
  { 
    if (!waveInGetDevCaps(i, &wc, sizeof (WAVEINCAPS))) 
      printf("device id #%d: %s\n", i, wc.szPname); 
  }
于 2012-10-18T13:59:13.357 に答える
0

頭のてっぺんから、waveOut呼び出しをフックしてデータをキャプチャし、それをマイクへの入力として使用する必要があります。これは、waveInもフックすることを意味します。

于 2012-10-18T13:13:46.903 に答える
0

要求に応じて、OPに関するコメントから...

別の録音デバイスを選択する必要があります。多くのWin7マシンでは、デフォルトで「ステレオミックス」が無効になっています

録音デバイスに移動し、マイクエントリの下の空白を右クリックします。無効を表示するオプションが表示されます。次に、ステレオミックスを有効にすると、それを選択して、マイクとまったく同じように使用できるようになります。

于 2012-10-18T14:20:01.123 に答える