在c#的组合框中播放声音

本文关键字:播放声音 组合 | 更新日期: 2023-09-27 18:09:10

我是c#编程的新手,我创建了一个带有项目的组合框,我希望这些项目在我选择一个时播放声音,像这样,或者.

我使用的是Visual Studio 2015。

可能在play1和play2方法中

private void AudioComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (AudioComboBox.SelectedIndex == AudioComboBox.Items.IndexOf("Sali 3la Mohammed 1"))
            {
                play1();
            }
            else if (AudioComboBox.SelectedIndex == AudioComboBox.Items.IndexOf("Sali 3la Mohammed 2"))
            {
                play2();
            }
        }

        private void play1()
        {
        }
        private void play2()
        {  
        }

在c#的组合框中播放声音

您可以使用MediaElement或新的AudioGraph在UWP中播放声音。

MediaElement是更简单的方法,缺点是会导致移动设备上的音乐停止,所以它真的不太适合你的目的。

MediaElement player = new MediaElement();
var stream = await yourSoundFile.OpenAsync(Windows.Storage.FileAccessMode.Read);
player.SetSource(stream, file.ContentType);
player.Play();

AudioGraph是专门为UWP应用程序中的声音效果而创建的,是您的最佳选择。在Loek van den Ouweland的博客上有一个快速而简单的教程,所以我强烈建议你去看看。基本上,你需要创建一个AudioGraph实例,并为你需要的每个声音创建AudioFileInputNode实例。

应该可以了

private void AudioComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (AudioComboBox.SelectedIndex == AudioComboBox.Items.IndexOf("Sali 3la Mohammed 1"))
            {
                play1();
            }
            else if (AudioComboBox.SelectedIndex == AudioComboBox.Items.IndexOf("Sali 3la Mohammed 2"))
            {
                play2();
            }
        }

        private void play1()
        {
            SoundPlayer simpleSound = new SoundPlayer("sound1.wav");
            simpleSound.Play();
        }
        private void play2()
        {  
            SoundPlayer simpleSound = new SoundPlayer("sound2.wav");
            simpleSound.Play();
        }