我有一個代碼來從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'是BufferedWaveProvider,'waveOut'是WaveOut。如果你需要,我可以把整個代碼。 –
它不起作用?它是否在播放音頻? – ioctlLR