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