問題タブ [naudio]
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# - WaveMixerStream32およびIWaveProvider
NAudioを使用して、WaveStreamsではなくWaveMixerStream32をWaveProvidersにリンクする方法はありますか?BufferedWaveProviderを使用して、複数のネットワークストリームをストリーミングしています。それをWaveStreamに変換する簡単な方法はないようです。
乾杯!
ルーク
c# - NAudio を使用して wav ファイルを (16KHz および 8bit に) 変更します。
NAudioを使ってWAVファイルを8KHz8bitに変換したいです。
しかし、出力ファイルを再生すると、音はジュージューという音だけです。私のコードは正しいですか、それとも何が間違っていますか?
WaveFormat を WaveFormat(44100, 16, 1) に設定すると、正常に動作します。
ありがとう。
c# - acmFormatSuggest を呼び出す NoDriver
以下のコードを参照してください。
MP3プレーヤーに使用しています。ACMコーデックがインストールされていないマシンの場合、次のエラーが発生します。
「acmFormatSuggest を呼び出す NoDriver」。
私のマシンに ACM コーデックをインストールする方法を提案してください。
windows - マイクからのロスレス読み取り
マイクの波のデータをキャプチャするためにNAudioを使用しています(ただし、直接読み取る場合に適用されます)。私のアプリがビジー状態の場合、マイクからの入力データをドロップ/スキップするようです。
読み取りスレッドを最優先に設定しましたが、他のいくつかのスレッドで同時に重い計算を行っています。
データをロスレスで読み取る方法はありますか?
(または、それはロスレスであり、私のバグは他の場所にありますか?)
c# - シンプルな NAudio Play
NAudio で埋め込みリソース 'WaterforMGC.delfino.wav' を再生するにはどうすればよいですか? ただし、.cs ファイル全体が必要なわけではなく、学習できる単純なものだけが必要です。
.net - マルチスレッドの NAudio: バッファは既に再生時にキューに入れられているというエラー
私のアプリケーションはオーディオ再生を実行しており、マルチスレッドでオーディオを再生しています。エラーが発生する場合があります。
Play で既にキューに入れられたバッファー (アサーション失敗: 中止 = 終了、再試行 = デバッグ、無視 = 続行)
c# - ストリーミングされたオーディオ データの再生 (C#)
ストリーミングされたオーディオ データを再生できる C# を使用して Windows アプリケーションを開発しようとしています。基本的に、さまざまなオーディオ ファイルの再生を担当するクライアント アプリケーションを作成します。現在、クライアント アプリケーションから、ファイル ヘッダーからハードウェア構成パラメーターを抽出し、ネットワーク経由でファイル データ (PCM ストリーム) をストリーミングします。
したがって、クライアントから送信されたハードウェア構成パラメーターを使用して実際のハードウェアを (サーバー側で) 構成し、ファイル データ ストリームをそれに与えて、オーディオ データを再生できるようにすることは可能ですか。
調べているうちに知りましNAudio
た。NAudioはこのようなことを行うことができますか、それとも私にとってより良いオプションは、Directsound APISを使用してネイティブC/C++コードに切り替えることです.
更新:
ハードウェアを構成するということは、オーディオ再生に関連するパラメーターを設定することを意味します。これらのパラメーターには、sample rate
(例: 44100 Hz)、number of channels
(例: ステレオ)、storage format
(例: 16 ビット リトルエンディアン) などが含まれます。
私のクライアント アプリケーションは Linux 上にあり、PCM ストリームと hw_params 構成をインターセプトしてサーバーに送信する ALSA ドライバーを植えました。
更新終了
ありがとう。
audio - NAudio を使用したオーディオ リピーター
入力デバイスからオーディオ ストリームを読み取り、NAudio を使用して出力デバイスに送信するプログラムを実装しています。そのために、入力ストリームWaveIn
とそのDataAvailable
イベントを使用してデータを取得します。データを書き込むために、 を使用しようとしていますWaveOut
。これは、 の実装を使用する必要があることも意味しますIWaveProvider
。私のニーズに合わせてそれを実装することは、キューを使用して非常に簡単に思えます。ただし、キューが空でRead()
メソッドが呼び出されるとどうなるでしょうか。ドキュメントでこれについて何も見つかりませんでした。私が持っていると思うオプション:
- 一部のデータが利用可能になるまで、メソッドはブロックする必要があります。
- メソッドはすぐに 0 を返します。これは、現在利用できるデータがないことを示します。
- バッファーをゼロで埋めます。
オプション 1 または 2 を使用することを考えていましたが、オプション 3 を使用するBufferedWaveProvider
(および内部WaveInProvider
で使用する ) を見つけました。BufferedWaveProvider
問題は、その権利を推測したか、オプション 3 を使用する必要があるかということです。オプション 1 または 2 を使用するとどうなりますか? それはうまくいきますか?
c# - NAudioを使用して実行時にウェーブフォーマットを変更する
私は以下を使用してデバイスを初期化しました:
私はそれにpcmストリームを追加しています:
waveProvider.AddSamples(samples, 0, size);
ストリームデータが同じ構成である限り、上記は正常に機能します。
サンプルレートとチャネル数を受け取る別の関数があり、新しく提供された構成を使用するようにwaveproviderを再構成したいと思います。これが私が使用しているコードです:
これは機能しておらず、これも正しい方法ではないと思います。新しいsample_rateとnum_channelsを使用するようにデバイスを再構成する方法についてのアイデア
ありがとう。
c# - クラッシュを引き起こす naudio waveProvider.AddSamples
上記のコードでbuff
は、 で記述されたネイティブ dll から返されC
ます。ロギングのために、サンプルに追加されたバイト数を出力しました。このログに基づくと、約 2.4 Mb のサンプルを再生した後、以下のエラーが表示されます。
未処理の例外: System.InvalidOperationException: NAudio.Wave.BufferedWaveProvider.AddSamples (Byte[] バッファー、Int32 オフセット、Int32 カウント) でバッファーがいっぱいです
新しいサンプルを追加する前に、バッファを解放するか、古いエントリを確実にフラッシュする必要がありますか? ソースコードを見ましたが、バッファサイズに関連するものは見つかりませんでした。私は何かが欠けていますか?
ご協力いただきありがとうございます。