怎样做一个音乐播放器呢?
用C#怎样做一个像QQ音乐一样的播放器呢,不需要那么多功能,只要能实现简单的搜歌,播放本地音乐功能即可,请高手指教..
[解决办法]
JS,下插件。
[解决办法]
http://download.csdn.net/source/480218
[解决办法]
http://51aspx.com/S/%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE%E5%99%A8.html
[解决办法]
你要学点软件设计,如果想做功能简单一点的可以用Flash做个播放器也可
,不过要用到Flash中的编程,不过简单多了,
优酷、酷六网上有相关视频可以看着学学
[解决办法]
自己做的MP3怎么给他编一个播放软件呀??
[解决办法]
namespace ShockwaveFlashPlayer
{
public partial class SWFPlayer : Form
{
public SWFPlayer()
{
InitializeComponent();
axShockwaveFlash1.Size = new Size(this.Width, this.Height - 130);
axShockwaveFlash1.Movie = "";
lblReadyState.Location = new Point(0, this.Height - 125);
lblScale.Location = new Point(this.Width - lblScale.Width - 10, this.Height - 125);
trackBar1.Location = new Point(0, this.Height - 100);
}
private void SWFPlayer_Load(object sender, EventArgs e)
{
if (axShockwaveFlash1.ReadyState == 4)
{
lblReadyState.Text = "完成";
lblScale.Text = "0/" + axShockwaveFlash1.TotalFrames.ToString();
btnPlay.Enabled = true;
trackBar1.Enabled = true;
}
}
#region ShockwaveFlash 控件加载文件信息
private void axShockwaveFlash1_OnReadyStateChange(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_OnReadyStateChangeEvent e)
{
switch (axShockwaveFlash1.ReadyState)
{
case 0:
lblReadyState.Text = "正在载入......";
break;
case 1:
lblReadyState.Text = "未初始化";
break;
case 2:
lblReadyState.Text = "已载入";
break;
case 3:
lblReadyState.Text = "正在交互......";
break;
case 4:
lblReadyState.Text = "完成";
lblScale.Text = axShockwaveFlash1.FrameNum + "/" + axShockwaveFlash1.TotalFrames.ToString();
trackBar1.Maximum = axShockwaveFlash1.TotalFrames;
btnPlay.Enabled = true;
btnBack.Enabled = true;
btnForward.Enabled = true;
trackBar1.Enabled = true;
break;
}
}
private void axShockwaveFlash1_OnProgress(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_OnProgressEvent e)
{
lblReadyState.Text = "已下载 " + axShockwaveFlash1.PercentLoaded() + "%......";
}
#endregion
#region 功能键(播放、后退、前进)
//播放
private void btnPlay_Click(object sender, EventArgs e)
{
if (axShockwaveFlash1.Playing)
{
axShockwaveFlash1.Stop();
btnPlay.Text = "?";
lblReadyState.Text = "暂停";
timer1.Stop();
}
else
{
axShockwaveFlash1.Play();
btnPlay.Text = "■";
lblReadyState.Text = "播放";
timer1.Start();
}
}
//后退
private void btnBack_Click(object sender, EventArgs e)
{
//axShockwaveFlash1.Back(); //此方法只能后退一帧
axShockwaveFlash1.GotoFrame(axShockwaveFlash1.FrameNum - 20);
btnPlay_Click(null, null); //播放
}
//前进
private void btnForward_Click(object sender, EventArgs e)
{
//axShockwaveFlash1.Forward(); //前进一帧
axShockwaveFlash1.GotoFrame(axShockwaveFlash1.FrameNum + 20);
btnPlay_Click(null, null); //播放
}
#endregion
#region 暂无内容
private void axShockwaveFlash1_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
{
//XmlDocument doc = new XmlDocument();
//doc.LoadXml(e.request);
//XmlNodeList list = doc.GetElementsByTagName("arguments");
//int width = Convert.ToInt32(list[0].FirstChild.InnerText);
//int height = Convert.ToInt32(list[0].ChildNodes[1].InnerText);
//if (width > axShockwaveFlash1.Width)
//{
// this.Width += width - axShockwaveFlash1.Width;
//}
//if (height > axShockwaveFlash1.Height)
//{
// this.Height += height - axShockwaveFlash1.Height;
//}
}
private void axShockwaveFlash1_FSCommand(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvent e)
{
}
#endregion
//打开本地文件
private void tsmiOpenFile_Click(object sender, EventArgs e)
{
DialogResult dr = openFile.ShowDialog();
if (dr == DialogResult.OK)
{
axShockwaveFlash1.Movie = openFile.FileName;
//axShockwaveFlash1.CallFunction("<invoke name=\"loadAndPlayVideo\" returntype=\"xml\"><arguments><string>" + openFile.FileName + "</string></arguments></invoke>");
}
}
#region 文件拖放
private void FlashControl_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.All;
}
}
private void FlashControl_DragDrop(object sender, DragEventArgs e)
{
string swf = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
if (Path.GetExtension(swf).ToLower() == ".swf")
{
axShockwaveFlash1.Movie = swf;
}
else
{
MessageBox.Show("文件必须是 swf 格式!");
}
}
#endregion
//计数器
private void timer1_Tick(object sender, EventArgs e)
{
lblScale.Text = axShockwaveFlash1.FrameNum + "/" + axShockwaveFlash1.TotalFrames.ToString();
trackBar1.Value = axShockwaveFlash1.FrameNum;
}
//拖动 滑动条 滑块
private void trackBar1_Scroll(object sender, EventArgs e)
{
axShockwaveFlash1.GotoFrame(trackBar1.Value);
lblScale.Text = axShockwaveFlash1.FrameNum + "/" + axShockwaveFlash1.TotalFrames.ToString();
btnPlay_Click(null, null); //播放
}
}
}
[解决办法]
http://www.multimediasoft.com/amp3dj/
------解决方案--------------------
- C# code
string sample = @"D:\4Music\Adele - 21(Deluxe Edition)\01 - Rolling in the Deep.mp3";var graphBuilder = new FilterGraph();var mediaControl = graphBuilder as IMediaControl;mediaControl.RenderFile(sample);mediaControl.Run();