如何解决2首歌曲同时播放
我正在做一个项目。音乐播放平台。我为此使用 Windows 媒体播放器,但我遇到了问题。音乐以数据库中的列表形式出现。列表顶部有一个播放按钮。当我按下按钮时,音乐播放流畅。但是当我播放另一首歌曲时,其他音乐不会停止并且它们同时播放。我需要你的帮助。我认为问题是由以下代码引起的
private bool durum = false;
public void btn_koynat_Click(object sender,EventArgs e)
{
Form1 frm1 = (Form1)this.FindForm();
frm1.player = player;
if (durum == true)
{
durum = false;
frm1.sarkiSlider.Value = 0;
}
if (durum==false)
{
durum = true;
int sec = Convert.ToInt32(label_sec.Text);
frm1.btn_Oynat.Enabled = true;
frm1.durum = true;
player.URL = label_sarki.Text + ".MP3";
btn_koynat.BackgroundImage = Properties.Resources.sesacik;
frm1.btn_Oynat.BackgroundImage = Properties.Resources.durdurbutonu;
frm1.sarki_isim.Text = label_sarki.Text;
frm1.sarki_sanatci.Text = label_sanatci.Text;
frm1.label_timer2.Text = label3.Text;
frm1.sarkiSlider.Maximum = sec;
frm1.timer1.Enabled = true;
frm1.sarkiSlider.Value = 0;
player.controls.play();
}
}
解决方法
您可以使用 wplayer.playState 检查您的播放器是否正在运行。
这是一个代码示例,可以避免同时播放两首歌曲。
WMPLib.WindowsMediaPlayer wplayer = new WMPLib.WindowsMediaPlayer();
private void button1_Click(object sender,EventArgs e)
{
if (wplayer.playState == WMPLib.WMPPlayState.wmppsPlaying)
{
wplayer.controls.stop();
wplayer.URL = comboBox1.SelectedItem.ToString();
wplayer.controls.play();
}
else
{
wplayer.URL = comboBox1.SelectedItem.ToString();
wplayer.controls.play();
}
}
private void Form1_Load(object sender,EventArgs e)
{
comboBox1.Items.Add("1.mp3");
comboBox1.Items.Add("2.mp3");
comboBox1.Items.Add("3.mp3");
comboBox1.Items.Add("4.mp3");
comboBox1.Items.Add("5.mp3");
}
注意:我使用组合框来存储 mp3 文件。根据我的测试,当我播放一个mp3文件并点击按钮播放另一个mp3文件时,最初的mp3文件被停止并播放另一个文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。