使用Naudio停止wav文件

时间:2014-01-26 09:23:20

标签: file wav naudio

这听起来像一个简单的问题,但我无法弄明白。

我正在使用Naudio播放一个wav文件(我正在使用文件的路径启动WaveOut对象)。

暂停播放正常

问题 - 当我尝试停止(暂停并返回到文件的开头)时 - 它只是暂停文件(如暂停)。

这是我的代码:

public class FilePlayer
{


    private WaveFileReader waveFileReader;
    protected static WaveFormat _waveFormat = new WaveFormat(8000, 16, 1);
    protected IWavePlayer _waveout = new WaveOut(WaveCallbackInfo.FunctionCallback());


    public FilePlayer(string path)
    {
        try
        {
            waveFileReader = new WaveFileReader(path);
            _waveout.Init(waveFileReader);
        }
        catch (Exception)
        {

        }
    }



    public void PlayCall()
    {
        try
        {
            _waveout.Play();
        }
        catch
        { }
    }


    public void PauseCall()
    {
        _waveout.Pause();
    }


    public void StopCall()
    {
        _waveout.Stop();
    }

}

有任何帮助吗? thnaks!

1 个答案:

答案 0 :(得分:0)

停止不应该回到文件的开头。它只是阻止音频设备播放。处理PlaybackStopped事件并将音频文件的位置设置为0(如果这是您需要的。)

另外,我建议不要使用函数回调。如果您没有在GUI应用程序中运行,请使用WaveOutEvent。