2012-04-29 79 views
6

私はC#アプリケーションでNAudioライブラリを使用しています。私はそれを行う方法を把握していないことがわかったと思う位置にオーディオMP3ファイルを模索しようとしています。NAudio - 指定した位置から再生するためのシークとナビゲーション

//Play the file starting from 16th second 
waveStream.Seek(16, SeekOrigin.Begin); 

...それは最初からほとんど再生されましたが、16番目からは再生されませんでした。私はまた、私が思った解決策を見つけました:

waveStream.Seek(waveStream.WaveFormat.AverageBytesPerSecond * 16, SeekOrigin.Begin); 

それは真実に近いようです。私の解決は真実かどうか?もし私が何をすればいいのですか?

答えて

7

WaveStreamに直接設定することができます。これはバイトオフセットに変換する必要があります。ファイル)。 WaveStreamには、を使用できるようにするCurrentTimeというヘルパープロパティがあり、同じ計算が行われます。

6

誰かがまだこの問題を抱えており、それを理解できない場合。 次に例を示します。

myWaveStream.CurrentTime = myWaveStream.CurrentTime.Add(new TimeSpan(0, hours, minutes, seconds, milliseconds)); 

myWaveStream.CurrentTime = myWaveStream.CurrentTime.Subtract(new TimeSpan(0, hours, minutes, seconds, milliseconds)); 
+0

あなたはちょうど素晴らしいです! –

+0

ありがとう、これは本当に私を助けた! –

関連する問題