質問

10秒の効果音ウェーブファイルがあります。私がやりたいのは、そのファイルを取り、それをn回繰り返し、それから長いWAVファイルをディスクに保存することです。このようにして、メディアプレーヤーで自動リピートするよりもはるかに長いバックグラウンドエフェクトを作成できます。私はこれをC#でやろうとしています。

役に立ちましたか?

解決

少数のファイルのみでこれを行う必要がある場合は、 Audacityを使用して手動で行うこともできます。

他のヒント

WAVファイル形式があれば、それはかなり簡単です。圧縮されていないオーディオであると仮定します(ほとんどのWAVファイルは-または少なくとも、私がそれらと関係があるのは前回でした)。

バイナリ形式にとらわれずにこれを行うために使用できるオーディオAPIがあるかもしれませんが、特に複雑なことは何もしていないので、自分でやるのと同じくらい時間がかかると思います。

.Net 2.0以降を使用している場合は、 System.Media.SoundPlayer クラス、特にその PlayLooping メソッドを使用して、st音を発生させずに目的を達成します。これは、新しいwavファイルを作成するよりも望ましい方法です。つまり、ファイル用のディスクスペースが少なくなり、サウンドのレンダリングに必要なメモリが少なくなります。一般に、音声がループするか、数秒よりも長い場合は、オーディオ再生にこのようなバッファリング手法を常に使用する必要があります。

NAudio .NETオーディオライブラリを使用して、C#でこれを簡単に行うことができます。 WaveFileReader および WaveFileWriter クラスを使用する必要があります。また、長いWAVファイルを作成することなく、必要な回数だけオーディオをループするカスタム WaveStream を作成するために使用できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top