【问题标题】:Stop wav file using Naudio使用 Naudio 停止 wav 文件
【发布时间】:2014-01-26 09:23:20
【问题描述】:

这听起来像一个简单的问题,但我想不通。

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

暂停播放工作正常

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

这是我的代码:

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();
    }

}

有什么帮助吗?谢谢!

【问题讨论】:

    标签: file wav naudio


    【解决方案1】:

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

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

    【讨论】:

    • 感谢它的工作!我在 GUI 应用程序中运行,但感谢您的提示。那么 Stop() 和 Pause() 有什么区别呢?
    猜你喜欢
    • 1970-01-01
    • 2012-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多