0

NAudioを使用してWAVファイルをWMAファイルに変換しようとしています。部分的に動作させることができましたが、効果音の最後の数秒が途切れています。

WaveFileReader wr = new WaveFileReader(@"C:\mywav.wav");
WmaWriter ww = new WmaWriter(new FileStream(@"C:\mywma.wma",FileMode.Create),new WaveFormat(44100,2),profile);

byte[] buff = null;

int read = 0;

buff=new byte[wr.Length];
read = wr.Read(buff,0,buff.Length);
while ((read > 0))
{
  ww.Write(buff,0,read);
  read = wr.Read(buff,0,buff.Length);
}

これは、読み込まれるWAVファイル全体ではなく、WMAファイルの一部のみを書き込みます。あるいは、C#でNAudioを必要とせずにWMAに変換する方法はありますか?

4

1 に答える 1

2

コメントで説明されているusingように、ストリームが適切にフラッシュされて閉じられるように、ライター(および実際にはリーダー)でブロックを使用します。

于 2012-05-08T22:27:40.837 に答える