URLからmp3をストリームするコードがあります。私はUIのmp3プレーヤーの現在の時間を表示したい。私はWaveOut.GetPosition
を使って試しましたが、それは私のために働くことができませんでした。 どうすればいいですか?NAudioを使ってmp3をストリーミングする際の現在の時間を取得するには?
マイコード:
do
{
//..codes to get url stream,to create BufferedWaveProvider
int decompressed = decompressor.DecompressFrame(frame, buffer, 0);
provider.AddSamples(buffer, 0, decompressed);
if (provider.BufferedDuration.Seconds > 2 && waveOut == null)
{
waveOut = new WaveOut();
waveOut.Init(provider);
waveOut.Play();
}
if (waveOut != null)
{
currentTime = (int)(waveOut.GetPosition() * 1d/AvgBytesPerSec);
}
}
while (bytesRead > 0 || waveOut.PlaybackState == PlaybackState.Playing);
どのようなタイプの 'provider'ですか? –
'provider'はBufferedWaveProvider、' waveOut'はWaveOutです。必要ならば、コード全体を記述することができます。 –
どうしてうまくいかないのですか?オーディオをまったく再生していますか? – ioctlLR