WMP做播放器
(VS2010 C#)我用axWindowsMediaPlayer做播放器 添加到listbox后能上一首,下一首 但是我用鼠标双击列表换歌后 再点上一首,下一首 就没用了 为什么呢
下面是我的代码 求高手 完善
另外我想保存 播放列表 用xml可以吗?
using System;--------------------编程问答-------------------- 追问 也不能实现自动播放下一首(一首完了又自动重播) --------------------编程问答-------------------- 恭喜搂主,这是ktv 的切歌功能吗?
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace WindowsFormsApplication16
{
public partial class Form1 : Form
{
Hashtable ht = new Hashtable();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void 添加歌曲_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
open.Multiselect = true;
open.Filter = "MP3文件|*.mp3|wma文件|*.wma|wav|*.wav|wmv格式|*.wmv|所有格式|*.*";
if (open.ShowDialog() == DialogResult.OK) ;
{
Player.currentPlaylist = Player.newPlaylist("list", "");
foreach (string fn in open.FileNames)
{
WMPLib.IWMPMedia media = Player.newMedia(fn);
Player.currentPlaylist.appendItem(media);
string[] s1 = fn.Split('\\');
string[] s2 = s1[s1.Length - 1].Split('.');
ht.Add(s2[0], fn);
listBox1.Items.Add(s2[0]);
}
}
Player.settings.setMode("loop", true);
Player.Ctlcontrols.play();
}
private void 播放ToolStripMenuItem_Click(object sender, EventArgs e)
{
Player.Ctlcontrols.play();
}
private void listBox1_DoubleClick(object sender, EventArgs e)
{
string h = listBox1.SelectedItem.ToString();
this.Player.URL = ht[h].ToString();
}
private void 上一首ToolStripMenuItem_Click(object sender, EventArgs e)
{
Player.Ctlcontrols.previous();
}
private void 下一首ToolStripMenuItem_Click(object sender, EventArgs e)
{
Player.Ctlcontrols.next();
}
private void 暂停ToolStripMenuItem_Click(object sender, EventArgs e)
{
Player.Ctlcontrols.pause();
}
private void 停止ToolStripMenuItem_Click(object sender, EventArgs e)
{
Player.Ctlcontrols.stop();
}
//暂停
private void btnpaure_Click(object sender, EventArgs e)
{
Player.Ctlcontrols.pause();
}
//停止
private void btnclose_Click(object sender, EventArgs e)
{
Player.Ctlcontrols.stop();
}
//上一首
private void btnleft_Click(object sender, EventArgs e)
{
Player.Ctlcontrols.previous();
}
//下一首
private void btnright_Click(object sender, EventArgs e)
{
Player.Ctlcontrols.next();
}
//播放
private void btnplay_Click(object sender, EventArgs e)
{
Player.Ctlcontrols.play();
}
}
}
补充:.NET技术 , C#