###前提・実現したいこと
Skypeやdiscord等のボイスチャットを使用中に チャット相手にwaveファイルに録音した音声を聞かせたいのです。 いろいろと調べて何となく思いついた処理が以下なのですが、可能なのでしょうか? 1. DirectSoundのマイクキャプチャでプライマリバッファとセカンダリバッファを作る 2. セカンダリバッファにwaveファイルのデータを流し込む 3. プライマリバッファ(デバイス上のメモリ)にセカンダリバッファをコピー 4. 結果として、windowsがwaveの音声データをマイク入力として受け取る 5. ボイスチャットの相手に音声の代わりにwaveデータが流れる
###発生している問題・エラーメッセージ
マイク入力からサンプリングされたデータがいつどのようにwindowsに渡されるかがわからないので どこでデータを書き換えればよいかわからない。また書き換えれるものなのかどうか・・・ (プライマリバッファにデータが書き込まれると同時にwindowsの音声ストリームに渡されると想像) (最終的にWin32 APIに音声が渡され低レベルAPIのread()やwrite()で処理されてるんでしょうか?)
###試したこと
サウンドカードの出力端子とマイク端子を直結して実験 (今後USBサウンドとUSBマイクに代わることから上記は断念) 仮想ステレオミキサーを使用することにより実現可能なことを確認 (環境によってはうまく動かない) C#によるDirectSoundでの再生録音の実験
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/21 15:15
2017/06/21 18:56