問題タブ [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.

0 投票する
1 に答える
3506 参照

c# - WaveMixerStream32およびIWaveProvider

NAudioを使用して、WaveStreamsではなくWaveMixerStream32をWaveProvidersにリンクする方法はありますか?BufferedWaveProviderを使用して、複数のネットワークストリームをストリーミングしています。それをWaveStreamに変換する簡単な方法はないようです。

乾杯!

ルーク

0 投票する
3 に答える
21486 参照

c# - NAudio を使用して wav ファイルを (16KHz および 8bit に) 変更します。

NAudioを使ってWAVファイルを8KHz8bitに変換したいです。

しかし、出力ファイルを再生すると、音はジュージューという音だけです。私のコードは正しいですか、それとも何が間違っていますか?

WaveFormat を WaveFormat(44100, 16, 1) に設定すると、正常に動作します。

ありがとう。

0 投票する
1 に答える
1851 参照

c# - acmFormatSuggest を呼び出す NoDriver

以下のコードを参照してください。

MP3プレーヤーに使用しています。ACMコーデックがインストールされていないマシンの場合、次のエラーが発生します。

「acmFormatSuggest を呼び出す NoDriver」。

私のマシンに ACM コーデックをインストールする方法を提案してください。

0 投票する
1 に答える
509 参照

windows - マイクからのロスレス読み取り

マイクの波のデータをキャプチャするためにNAudioを使用しています(ただし、直接読み取る場合に適用されます)。私のアプリがビジー状態の場合、マイクからの入力データをドロップ/スキップするようです。

読み取りスレッドを最優先に設定しましたが、他のいくつかのスレッドで同時に重い計算を行っています。

データをロスレスで読み取る方法はありますか?
(または、それはロスレスであり、私のバグは他の場所にありますか?)

0 投票する
2 に答える
1032 参照

c# - シンプルな NAudio Play

NAudio で埋め込みリソース 'WaterforMGC.delfino.wav' を再生するにはどうすればよいですか? ただし、.cs ファイル全体が必要なわけではなく、学習できる単純なものだけが必要です。

0 投票する
1 に答える
662 参照

.net - マルチスレッドの NAudio: バッファは既に再生時にキューに入れられているというエラー

私のアプリケーションはオーディオ再生を実行しており、マルチスレッドでオーディオを再生しています。エラーが発生する場合があります。

Play で既にキューに入れられたバッファー (アサーション失敗: 中止 = 終了、再試行 = デバッグ、無視 = 続行)

0 投票する
1 に答える
5151 参照

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 ドライバーを植えました。

更新終了

ありがとう。

0 投票する
1 に答える
883 参照

audio - NAudio を使用したオーディオ リピーター

入力デバイスからオーディオ ストリームを読み取り、NAudio を使用して出力デバイスに送信するプログラムを実装しています。そのために、入力ストリームWaveInとそのDataAvailableイベントを使用してデータを取得します。データを書き込むために、 を使用しようとしていますWaveOut。これは、 の実装を使用する必要があることも意味しますIWaveProvider。私のニーズに合わせてそれを実装することは、キューを使用して非常に簡単に思えます。ただし、キューが空でRead()メソッドが呼び出されるとどうなるでしょうか。ドキュメントでこれについて何も見つかりませんでした。私が持っていると思うオプション:

  1. 一部のデータが利用可能になるまで、メソッドはブロックする必要があります。
  2. メソッドはすぐに 0 を返します。これは、現在利用できるデータがないことを示します。
  3. バッファーをゼロで埋めます。

オプション 1 または 2 を使用することを考えていましたが、オプション 3 を使用するBufferedWaveProvider(および内部WaveInProviderで使用する ) を見つけました。BufferedWaveProvider

問題は、その権利を推測したか、オプション 3 を使用する必要があるかということです。オプション 1 または 2 を使用するとどうなりますか? それはうまくいきますか?

0 投票する
1 に答える
3058 参照

c# - NAudioを使用して実行時にウェーブフォーマットを変更する

私は以下を使用してデバイスを初期化しました:

私はそれにpcmストリームを追加しています:

waveProvider.AddSamples(samples, 0, size);

ストリームデータが同じ構成である限り、上記は正常に機能します。

サンプルレートとチャネル数を受け取る別の関数があり、新しく提供された構成を使用するようにwaveproviderを再構成したいと思います。これが私が使用しているコードです:

これは機能しておらず、これも正しい方法ではないと思います。新しいsample_rateとnum_channelsを使用するようにデバイスを再構成する方法についてのアイデア

ありがとう。

0 投票する
1 に答える
2670 参照

c# - クラッシュを引き起こす naudio waveProvider.AddSamples

上記のコードでbuffは、 で記述されたネイティブ dll から返されCます。ロギングのために、サンプルに追加されたバイト数を出力しました。このログに基づくと、約 2.4 Mb のサンプルを再生した後、以下のエラーが表示されます。

未処理の例外: System.InvalidOperationException: NAudio.Wave.BufferedWaveProvider.AddSamples (Byte[] バッファー、Int32 オフセット、Int32 カウント) でバッファーがいっぱいです

新しいサンプルを追加する前に、バッファを解放するか、古いエントリを確実にフラッシュする必要がありますか? ソースコードを見ましたが、バッファサイズに関連するものは見つかりませんでした。私は何かが欠けていますか?

ご協力いただきありがとうございます。