0
我有一個基本的Windows窗體應用程序使用System.Windows.Media.MediaPlayer來播放MP3文件。主窗體有一個按鈕,可以打開第二個窗體。System.Windows.Media.MediaPlayer播放聲音兩次
第二種形式具有單個按鈕時播放的MP3文件的3秒。
一切正常,第一次,我打開第二個窗體,然後單擊播放按鈕。但是,如果我關閉第二個表單然後重新打開它,則MP3播放行爲不正常。通常它播放聲音兩次。有時會在幾秒鐘的延遲後播放聲音。
從截圖中可以看到,我在Windows XP中運行應用程序。我也嘗試在Windows 10機器上運行它,並且沒有發生問題。任何幫助確定這種行爲的原因將不勝感激。
這裏是起着MP3文件第二種形式的代碼:
public partial class SecondForm : Form
{
public SecondForm()
{
InitializeComponent();
}
private string _tone = Path.Combine("Resources", "beep-17.mp3");
private int _toneDuration = 3000;
System.Windows.Media.MediaPlayer _mediaPlayer = new System.Windows.Media.MediaPlayer();
private void PlayMP3Form_Load(object sender, EventArgs e)
{
string mp3Path = Path.GetFullPath(_tone);
Uri mp3File = new Uri(mp3Path);
_mediaPlayer.Open(new Uri(mp3File.AbsoluteUri));
}
private void buttonPlay_Click(object sender, EventArgs e)
{
_mediaPlayer.Position = TimeSpan.FromMilliseconds(_mediaPlayer.NaturalDuration.TimeSpan.TotalMilliseconds - _toneDuration);
_mediaPlayer.Play();
}
}