我是C#编程的新手,我创建了一个带有项目的组合框,我希望这些项目在我选择一个like this时发出声音, or that.
我正在使用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()
{
}
答案 0 :(得分:1)
您可以使用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应用中的声音效果而创建,是您的最佳选择。有一个quick and simple tutorial on Loek van den Ouweland's blog,所以我绝对建议你看一下。基本上,您需要为所需的每个声音创建一个AudioGraph
实例并使用AudioFileInputNode
s。
答案 1 :(得分:0)
这应该有效
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();
}