在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()
{
}
您可以使用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();
}