gpt4 book ai didi

c# - WPF中没有WAV和MediaPlayer的音频

转载 作者:行者123 更新时间:2023-12-03 01:28:59 28 4
gpt4 key购买 nike

我正在尝试将背景音乐添加到我的WPF程序中。我还希望在背景音乐上方出现其他声音。我尝试使用SoundPlayer,但是一次只能播放一个音频。

我现在正在尝试使用MediaPlayer,但无法播放任何音频。这是我的代码:

在我的ShellViewModel中,我启动了背景音乐:

Sounds.StartBackgroundMusic()

在我的声音课上,我有以下内容:
private static MediaPlayer _backgroundMusic = new MediaPlayer();

public static void StartBackgroundMusic()
{
_backgroundMusic.Open(new Uri("pack://application:,,,/Assets/Sounds/backgroundmusic.wav"));
_backgroundMusic.MediaEnded += new EventHandler (BackgroundMusic_Ended);
_backgroundMusic.Play();
}

private static void BackgroundMusic_Ended(object sender, EventArgs e)
{
_backgroundMusic.Position = TimeSpan.Zero;
_backgroundMusic.Play();
}

由于我希望背景音乐连续循环播放,因此我使用了 this question中的答案来添加 BackgroundMusic_Ended事件。有人可以帮忙弄清楚为什么我的音频没有播放吗?

最佳答案

我试图重现该问题,但它按预期工作。

我在Visual Studio中创建了一个新的WPF应用程序,并在MainWindow.xaml.cs中使用了以下代码:

using System;
using System.Windows;
using System.Windows.Media;

namespace WpfApp1
{
public partial class MainWindow : Window
{
private static MediaPlayer _backgroundMusic = new MediaPlayer();

public MainWindow()
{
InitializeComponent();

StartBackgroundMusic();
}

public static void StartBackgroundMusic()
{
_backgroundMusic.Open(new Uri(@"C:\<path-to-sound-file>\music.wav"));
_backgroundMusic.MediaEnded += new EventHandler(BackgroundMusic_Ended);
_backgroundMusic.Play();
}

private static void BackgroundMusic_Ended(object sender, EventArgs e)
{
_backgroundMusic.Position = TimeSpan.Zero;
_backgroundMusic.Play();
}
}
}

您是否尝试使用“常规”文件路径而不是 "pack://..."加载声音文件?当我使用错误的路径时,我没有听到任何声音,也没有错误消息或异常。

关于c# - WPF中没有WAV和MediaPlayer的音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58998380/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com