2016-04-01 70 views
0

説明したように、hereのように、オーディオファイルの特定の部分を再生するためにOffsetSampleProviderを使用できます。このように:私はAudioFileReaderPositionプロパティを設定しない限りNAudio - 再生ごとにOffsetSampleProviderの新しいインスタンスを作成する必要があります

AudioFileReader AudioReader = new AudioFileReader("x.wav"); 
OffsetSampleProvider OffsetProvider = New OffsetSampleProvider(AudioReader); 

OffsetProvider.SkipOver = TimeSpan.FromSeconds(5); 
OffsetProvider.Take = TimeSpan.FromSeconds(8); 

myWaveOut.Init(OffsetProvider); 
myWaveOut.Play(); 

上記の例では、私は再びそれを再生したい場合は、それが再生されません、しかし、第二5で始まる、8秒間の音声を再生します0に設定し、そこからOffsetSampleProviderの新しいインスタンスを再作成します。だから私は何かが欠落しているかどうかを知りたいのですが、これはOffsetSampleProviderを使用する方法です(もしそうなった場合、関連するリソースを解放する必要があります)。

答えて

1

OffsetSampleProviderのコードをコピーし、Resetメソッドを追加することができます。パフォーマンス上の理由からSkipOverの使用を避け、再生する直前にAudioFileReaderCurrentTimeを5秒に設定するだけです。

関連する問題