小编Typ*_*GC7的帖子

在WPF中播放声音作为资源

首先,我搜索了网站并查看了这个,但遗憾的是它对我没什么帮助.

每当我点击我制作的青蛙图像时,我想播放.wav文件作为资源.这是我的代码:

void newFrog_MouseUp(object sender, MouseButtonEventArgs e)
{
    System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"G:\COSR3S\FrogsAndLilyPads\FrogsAndLilyPads\Sounds\FrogCroak.wav");
    player.Play();
}
Run Code Online (Sandbox Code Playgroud)

当然这有效但我的问题是目录从计算机变为计算机,所以我认为我必须将其作为资源来播放.我不知道该怎么做.我是一个相当新的程序员,只是为了记住.

我尝试了一些基于前面提到的链接的变化,并玩了它.例子:

void newFrog_MouseUp(object sender, MouseButtonEventArgs e)
{
    Uri uri = new Uri(@"pack://application:,,,/Sounds/FrogCroak.wav");
    var player = new MediaPlayer();
    player.Open(uri);
    player.Play();
}
Run Code Online (Sandbox Code Playgroud)

我也试过这样做,虽然我认为这个不行,但我还是尝试过:

void newFrog_MouseUp(object sender, MouseButtonEventArgs e)
{
    Uri uri = new Uri(@"pack://application:,,,/Sounds/FrogCroak.wav");
    System.Media.SoundPlayer player = new System.Media.SoundPlayer(uri);
    player.Play();
}
Run Code Online (Sandbox Code Playgroud)

我不确定" pack://application:,,,"是否会引用正在播放的文件.

我也试着让它好像是一个图像,就像这样:

void newFrog_MouseUp(object sender, MouseButtonEventArgs e)
{
    System.Media.SoundPlayer player = new System.Media.SoundPlayer(new Uri(@"pack://application:,,,/Sounds/FrogCroak.wav", UriKind.RelativeOrAbsolute));
    player.Play();
}
Run Code Online (Sandbox Code Playgroud)

所以,而不是new …

c# audio wpf resources

0
推荐指数
1
解决办法
8306
查看次数

标签 统计

audio ×1

c# ×1

resources ×1

wpf ×1