問題タブ [directsound]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - DirectSoundのタイミングとサンプル数
DirectSoundを使用して、オーディオカードに正弦波を書き込みます。サンプルサイズは16ビット、1チャネルです。私の質問は、5秒の音を出すのに何サンプルかかるべきかということです。サンプルレートは毎秒44100サンプルです。数学は簡単です:220500が答えです。しかし、私のコードはその約半分の時間しか再生されないので、これは私を夢中にさせています!! これが私のコードです:
私の計算では、これは5秒間再生されるはずです。ハーフタイムで再生します。変えたら
に
そうすれば音は大丈夫ですが、それはハックですよね?確かに私は何か間違ったことをしているが、何がわからない。
御時間ありがとうございます。
c# - DirectSound: 音量をパーセンテージで設定する
約 -4000 の値は 0% で、0 は 100% であるため、SecondaryBuffer クラスの Volume-Property は奇妙に思えます。Volume を正確なパーセンテージに設定したり、最低の Volume を取得したりするにはどうすればよいですか?
windows-7 - DirectSoundEnumerate()は、Windows7のドライバー名を一覧表示しません
Windows XPでコンパイルされたプログラムがあり、Windows 7(x86とx64の両方)で実行しようとしています。プログラムはDirectSound8を使用して、マシン上のすべてのサウンドデバイスを列挙します。問題は、列挙関数がWindowsXPとWindows7のドライバー名DirectSoundEnumerate(...)
に対して異なる結果を返すことです。
上記の3台のマシンは、DellPrecision390と同じ構成です。
DX9SDK_DEC2005からの「DSound.lib」へのプログラムリンク。
Windows 7がドライバー名ではなくGUIDとしてドライバー名を返す理由を誰かが知っていますか?
c# - SecondaryBufferのクローンを作成しようとしましたが、MemoryAccessViolation例外が発生しました
SecondaryBuffer
同じサウンドを同時に複数回再生できるように、クローンを作成しようとしています。
これは私が使用しているコードです:メインスレッドで:
別のスレッドで実行されている関数の場合:
これは私が関数で得た例外ですClone
:
タイプ'System.AccessViolationException'の未処理の例外がMicrosoft.DirectX.DirectSound.dllで発生しました
追加情報:保護されたメモリの読み取りまたは書き込みを試みました。これは多くの場合、他のメモリが破損していることを示しています。
誰かがその解決策を手に入れましたか?
c# - Windows でヘッドフォンを検出する
ヘッドフォンが Windows に接続されているかどうかを検出しようとしています。私はすでに DirectSound と NAudio ライブラリを試しましたが、成功していません。誰か提案はありますか?
注: この質問はこの質問の複製ですが、その質問への回答にはコード サンプルやチュートリアルが含まれていませんでした。
c# - C#のFFmpegとDirectSound / XAudio2
私はこれをしばらくの間機能させようと試みてきましたが、少し行き詰まっています。
DirectXおよびDirectSoundまたはXAudio2へのlibavcodec出力を使用して、C#でビデオを再生できるようにしようとしています。私はそれをビデオで再生することができましたが、サウンドを出力するためにそれを取得することに固執しています。
DirectSoundまたはXAudio2のいずれかを使用した経験がないこと、またはlibavcodecにドキュメントがほとんどないことは役に立ちません。オーディオコーデックを取得できましたが、DirectSound/XAudio2を介してデコードまたは出力しようとしてスタックしています。
誰かが私を正しい方向に向けることができるか、それを行う方法を教えてくれるなら、私は感謝するでしょう。
c# - C#カメラのマイクを使用して録音する
マイクからの音を録音するアプリケーションを作成していますが、すべてのマイクをPCにインストールする方法がわかりません... DirectSoundで試しましたが、オーディオカードMicInだけが表示されます。では、どうすればすべてのマイクを入手できますか?
c# - C#でラップされたクラスにイベントを追加するにはどうすればよいですか?
DirectSound
フレームワークとSecondaryBuffer
オブジェクトを使用しています。SecondaryBuffer
に関連付けたい他の値があるため、オブジェクトを別のクラスでラップしていますSecondaryBuffer
。
サウンドを再生した後、破棄したいのですが、SecondaryBuffer
再生が完了したかどうかを確認する唯一の方法は、ステータスを確認することです。
event
自分のステータスがSecondaryBuffer
正しい値のときに呼び出すことができるを作成したいと思います。
これが私のラップされたクラスを含むスニペットです。
イベントがない場合は、を利用してTimer
このようにステータスを確認する必要があります。
とにかく、ステータスを。events
で再チェックすることなく、SecondaryBufferオブジェクトのDispose()メソッドを呼び出すために使用できるものはありますか?Timer
c - Windows で C を使用してサウンド カードにデータをストリーミングする
大学のプロジェクトの一環として、信号処理を行う必要があり、PC サウンド カードを使用して結果を出力したいと考えています。ソフトウェアは C で書かれている必要があり、Windows (できれば 7 と XP) で動作する必要があります。
.wav などのファイルを出力するコード例を見つけましたが、ファイルから出力するのではなく、データを連続的に出力することに興味があります。出力用のデータは配列として表示される可能性がありますが、一部のサウンド API には独自のバッファ処理方法があるようです。
コード例や最高の API と同様に、どんな提案も素晴らしいでしょう。DirectSound と OpenAL を見てきましたが、まだ開始方法がわかりません。
volume - C++でDShow.hとstrmiids.libを使用してサウンドクリップの音量をリアルタイムで調整する方法
C ++プログラムでサウンドクリップが再生される音量をリアルタイムで設定する方法を理解しようとしています。たとえば、2つのオブジェクトが互いに近づくにつれて音量を上げるなどの方法を試しています。現在、「DShow.h」と「strmiids.lib」を使用しており、次のデータメンバーポインターによって提供されるインターフェイスを使用しています。
これらが提供するインターフェースを使用して、再生中のメディアストリームの音量を変更する方法はありますか?