小编Pet*_*ren的帖子

WaveOut与WaveOutEvent

我使用的是NAudio

WaveOutEvent Klangwiedergabegeraet;

private void Play(string Dateiname)
{
    Klangwiedergabegeraet = new WaveOutEvent();
    Klangwiedergabegeraet.DeviceNumber = comboBox1.SelectedIndex;
    ISampleProvider StueckchenHalter = null;
    StueckchenHalter = CreateInputStreamS(Dateiname);
    Klangwiedergabegeraet.Init(new SampleToWaveProvider(StueckchenHalter));  
    Klangwiedergabegeraet.Play();
}

private void Cancel()
{
    if (Klangwiedergabegeraet != null)
    {
        Klangwiedergabegeraet.Stop();
        Klangwiedergabegeraet.Dispose();
    }
}
Run Code Online (Sandbox Code Playgroud)

在跑步时Cancel(),它不会停止.我用的时候

WaveOut Klangwiedergabegeraet;

private void Play(string Dateiname)
{
    Klangwiedergabegeraet = new WaveOut();
    ...
}

private void Cancel()
{
    if (Klangwiedergabegeraet != null)
    {
        Klangwiedergabegeraet.Stop();
        Klangwiedergabegeraet.Dispose();
    }
}
Run Code Online (Sandbox Code Playgroud)

有效.为什么这会改变什么?

PS我用WaveOutEvent而不是WaveOut因为WaveOut没有属性DeviceNumber …

c# naudio

2
推荐指数
1
解决办法
2567
查看次数

标签 统计

c# ×1

naudio ×1