c++-用WinForm 窗体 做一个音乐播放器程序。

问题描述

用WinForm 窗体 做一个音乐播放器程序。

能进行各种音频格式转换,快进,后退等操作。c#、c++、c语言 都可以。谢谢!!!

解决方案

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using DevComponents.DotNetBar;

using System.Runtime.InteropServices;

using System.IO;

using System.Threading;

using System.Drawing.Imaging;

using Microsoft.Win32;

//########################################

//########################################

//########################################

//######///////////////////////////#######

//######编码人:万龙////////////////#######

//######开始时间:2012年5月5日//////#######

//######最近更新时间:2012年5月6日//#######

//######///////////////////////////#######

//########################################

//########################################

//########################################

//########################################

namespace MusicPlay

{

public partial class Form1 : Office2007Form

{

#region 窗体出现动画API

private const int AW_HOR_POSITIVE = 0x0001;//自左向右显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志

private const int AW_HOR_NEGATIVE = 0x0002;//自右向左显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志

private const int AW_VER_POSITIVE = 0x0004;//自顶向下显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志

private const int AW_VER_NEGATIVE = 0x0008;//自下向上显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志该标志

private const int AW_CENTER = 0x0010;//若使用了AW_HIDE标志,则使窗口向内重叠;否则向外扩展

private const int AW_HIDE = 0x10000;//隐藏窗口

private const int AW_ACTIVE = 0x20000;//激活窗口,在使用了AW_HIDE标志后不要使用这个标志

private const int AW_SLIDE = 0x40000;//使用滑动类型动画效果,默认为滚动动画类型,当使用AW_CENTER标志时,这个标志就被忽略

private const int AW_BLEND = 0x80000;//使用淡入淡出效果

[DllImportAttribute("user32.dll")]

private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);

#endregion

public delegate void DeleCurrentTime(int Currtime);

WLMusicDll.musicClass mp=new WLMusicDll.musicClass();

System.Windows.Forms.Timer timer;

System.Windows.Forms.ToolTip tooltip;

ContextMenuStrip cms;

ContextMenuStrip cmsCur;

string musicName=string.Empty;

    public Form1()
    {  

        InitializeComponent();
        tool();
        timer = new System.Windows.Forms.Timer();
        timer.Interval = 1000;
        timer.Enabled = true;
        AnimateWindow(this.Handle, 1000, AW_SLIDE | AW_ACTIVE | AW_VER_NEGATIVE);  

        constMusicLoad();
        cmsCur = new ContextMenuStrip();
        notifyIcon1.ContextMenuStrip = cmsCur;
        cmsCur.Items.AddRange(new ToolStripItem[] { new ToolStripMenuItem("显示"), new ToolStripMenuItem("退出") });
        foreach (ToolStripMenuItem cmsClick in cmsCur.Items)
        {
            if (cmsClick.Text.Equals("显示"))
            {
                cmsClick.Click += new EventHandler(cmsClick_Click);
            }
            if (cmsClick.Text.Equals("退出"))
            {
                cmsClick.Click += new EventHandler(cmsClick_Click1);
            }
        }
        this.listView1.DoubleClick += new EventHandler(listView1_DoubleClick);
        pictureBox1.DoubleClick += new EventHandler(pictureBox1_DoubleClick);
        cms = new ContextMenuStrip();
        pictureBox2.ContextMenuStrip = cms;
        cms.Items.AddRange(new ToolStripItem[]{new ToolStripMenuItem("图片保存") ,new ToolStripMenuItem("打开保存文件夹")});
        foreach(ToolStripMenuItem tsmi in cms.Items)
        {
            if(tsmi.Text.Equals("图片保存"))
            {
                tsmi.Click+=new EventHandler(tsmi_Click);
            }
            if (tsmi.Text.Equals("打开保存文件夹"))
            {
                tsmi.Click +=new EventHandler(tsmi_Click1);
            }
        }
        pictureBox2.DoubleClick += new EventHandler(pictureBox2_DoubleClick);
    }  

    void cmsClick_Click(object sender, EventArgs e)
    {
        this.WindowState = FormWindowState.Normal;
    }
    void cmsClick_Click1(object sender, EventArgs e)
    {
        Application.Exit();
        System.Diagnostics.Process process = System.Diagnostics.Process.GetCurrentProcess();
        process.Kill();  

    }
    void tsmi_Click(object sender, EventArgs e)
    {
        SaveFileDialog sfd = new SaveFileDialog();
        sfd.Filter = "PNG图片(*.PNG)|*.png";
        if (sfd.ShowDialog() == DialogResult.OK)
        {
            pictureBox2.BackgroundImage.Save(sfd.FileName, ImageFormat.Png);
            MessageBox.Show("图片保存成功!");
        }
    }
    void tsmi_Click1(object sender, EventArgs e)
    {
        string dir = AppDomain.CurrentDomain.BaseDirectory+"Pic";
        if (Directory.Exists(dir))
        {
            System.Diagnostics.Process.Start(dir);
        }
        else
        {
            Directory.CreateDirectory(dir);
            System.Diagnostics.Process.Start(dir);
        }  

    }
    void pictureBox2_DoubleClick(object sender, EventArgs e)
    {
        if (this.pictureBox2.BackgroundImage != null)
        {
            Clipboard.SetImage(this.pictureBox2.BackgroundImage);
            MessageBox.Show("图片已复制到剪贴板", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
            string dir = AppDomain.CurrentDomain.BaseDirectory + "Pic";
            string pic = dir + "\" + DateTime.Now.ToString("HH_ss") + ".png";
            if (Directory.Exists(dir))
            {
                pictureBox2.BackgroundImage.Save(pic);
            }
            else
            {
                Directory.CreateDirectory(dir);
                pictureBox2.BackgroundImage.Save(pic);
            }
        }
    }
    void pictureBox1_DoubleClick(object sender, EventArgs e)
    {
        OpenFileDialog ofd = new OpenFileDialog();
        ofd.Filter = "图片格式(*.bmp;*.jpg;*.gif;*.png)|*.bmp;*.jpg;*.gif;*.png";
        if(ofd.ShowDialog()==DialogResult.OK)
        {
            pictureBox1.Image = new Bitmap(ofd.FileName);
        }
    }
    void tool()
    {
        tooltip =new System.Windows.Forms.ToolTip();
        tooltip.SetToolTip(upMove,"上一首");
        tooltip.SetToolTip(startPlay, "播放");
        tooltip.SetToolTip(downMove, "下一首");
    }
    void listView1_DoubleClick(object sender, EventArgs e)
    {
        if (this.listView1.Items.Count > 0)
        {
            timer.Enabled = true;
            timer.Start();
            mp=new WLMusicDll.musicClass();
            mp.FileName = listView1.SelectedItems[0].SubItems[2].Text;
            listView1.Tag = listView1.SelectedItems[0].Text;
            progressBarX1.Maximum = mp.Duration;
            mp.play();
            MuscName.Text = MuscName.Tag.ToString().Split(':')[0] + ":[" + listView1.SelectedItems[0].Text + "]";  

        }
    }  

    void constMusicLoad()
    {
        mp = new WLMusicDll.musicClass();
        musicName = "黑蝙蝠中队.mp3";
        string fileName=AppDomain.CurrentDomain.BaseDirectory + musicName;
        if (File.Exists(fileName))
        {
            mp.FileName = fileName;
            musicList(musicName, mp.Duration, fileName);
            mp.play();
            musicInfo(musicName.Split('.')[0]);
        }
        else
        {
            return;
        }  

    }
    void musicList(string name, int totalTime, string fileDir)
    {
        string Time = new DateTime(1970, 1, 1, 0, 0, 0).AddSeconds(totalTime).ToString("mm:ss");
        ListViewItem lvi = new ListViewItem();
        lvi.Text = "[默认]"+name.Split('.')[0].ToString();
        lvi.SubItems.AddRange(new string[] { Time, fileDir });
        listView1.Items.Add(lvi);
    }  

    void musicInfo(string name)
    {  

        MuscName.Text = MuscName.Tag.ToString().Split(':')[0] + ":[" + name + "]";
        progressBarX1.Maximum = mp.Duration;
        timer.Tick += (sender, e) => {
            currentTime.Text = new DateTime(1970, 1, 1, 0, 0, 0).AddSeconds(mp.CurrentPosition).ToString("mm:ss");
            progressBarX1.Value = mp.CurrentPosition;
                if (mp.IsEnd())
                {
                    timer.Stop();
                    timer.Enabled = false;
                    currentTime.Text = "00:00";
                    progressBarX1.Value = 0;
                    startPlay.Text = "?";
                    playState.Text = "状态:停止";
                }
                else
                {
                    timer.Start();
                    tooltip.SetToolTip(startPlay, "暂停");
                    startPlay.Text = "||";
                    playState.Text = "状态:播放";
                }  

        };
    }
    private void Form1_FormClosed(object sender, FormClosedEventArgs e)
    {  

        Application.Exit();
        System.Diagnostics.Process process =System.Diagnostics.Process.GetCurrentProcess();
        process.Kill();
    }
    /// <summary>
    /// 右键菜单
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    int i = 0;
    private void fileControl(object sender, EventArgs e)
    {
        ToolStripMenuItem tsmi = sender as ToolStripMenuItem;
        string name = tsmi.Name;  

        switch(name)
        {
            case "AddFile":
                OpenFileDialog ofd = new OpenFileDialog();
                ofd.Multiselect = true;
                ofd.Title = "搜索音乐文件";
                ofd.Filter = @"所有音乐格式格式(*.mp3;*.wma;*.wav;*.mid;*.rmi;*.rm;*.ra)|*.mp3;*.wma;*.wav;*.mid;*.rmi;*.rm;*.ra";
                if (ofd.ShowDialog() == DialogResult.OK)
                {  

                    foreach (string fileName in ofd.FileNames)
                    {
                        mp = new WLMusicDll.musicClass();
                        mp.FileName = fileName;
                        string totaltime=new DateTime(1970,1,1,0,0,0).AddSeconds(mp.Duration).ToString("mm:ss");
                        ListViewItem lvi = new ListViewItem();
                        lvi.Text = i.ToString() + "." + Path.GetFileNameWithoutExtension(fileName); ;
                        lvi.SubItems.AddRange(new string[] { totaltime, fileName });
                        listView1.Items.Add(lvi);
                        i++;
                    }  

                }
                break;
            case "AddFold":
                FolderBrowserDialog fbd = new FolderBrowserDialog();
                if(fbd.ShowDialog()==DialogResult.OK)
                {
                    DirectoryInfo dif = new DirectoryInfo(fbd.SelectedPath);
                   foreach(FileInfo file in dif.GetFiles("*.mp3"))
                   {
                       try
                       {
                           mp = new WLMusicDll.musicClass();
                           mp.FileName = file.FullName;
                           string totaltime = new DateTime(1970, 1, 1, 0, 0, 0).AddSeconds(mp.Duration).ToString("mm:ss");
                           ListViewItem lvi = new ListViewItem();
                           lvi.Text = i.ToString() + "." + Path.GetFileNameWithoutExtension(file.FullName); ;
                           lvi.SubItems.AddRange(new string[] { totaltime, file.FullName });
                           listView1.Items.Add(lvi);
                           i++;
                       }
                       catch (Exception ex)
                       {
                           MessageBox.Show("音乐格式不支持..");
                       }
                   }  

                }
                break;
            case "DeleteFile":
                foreach(ListViewItem lvi in listView1.SelectedItems)
                {
                    lvi.Remove();
                }
                break;
            default: break;
        }
    }
    /// <summary>
    /// 音乐播放控制
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void musicClick(object sender, EventArgs e)
    {
        try
        {
            Button btn = sender as Button;
            string name = btn.Text;
            mp = new WLMusicDll.musicClass();
            string itemId = listView1.Tag.ToString().Split('.')[0].ToString();
            switch (name)
            {
                case "?":
                    tooltip.SetToolTip(startPlay, "暂停");
                    btn.Text = "||";
                    timer.Start();
                    mp.play();
                    break;
                case "||":
                    tooltip.SetToolTip(startPlay, "开始");
                    btn.Text = "?";
                    timer.Stop();
                    mp.Puase();
                    break;
                case "?":
                    try
                    {
                        if (listView1.SelectedItems[0].Text.Split('.')[0].ToString().Equals("[默认]黑蝙蝠中队"))
                        {
                            musicName = "黑蝙蝠中队.mp3";
                            mp.FileName = AppDomain.CurrentDomain.BaseDirectory + musicName;
                        }
                        else
                        {
                            mp.FileName = listView1.Items[Convert.ToInt32(itemId) - 1].SubItems[2].Text;
                        }
                        progressBarX1.Maximum = mp.Duration;
                        mp.play();
                        MuscName.Text = MuscName.Tag.ToString().Split(':')[0] + ":[" + listView1.Items[Convert.ToInt32(itemId) - 1].Text + "]";
                    }
                    catch { }
                    break;
                case "?":
                    try
                    {
                        if (Convert.ToInt32(itemId) < listView1.Items.Count-1)
                        {
                            mp.FileName = listView1.Items[Convert.ToInt32(itemId)+1].SubItems[2].Text;
                        }
                        else
                        {
                            mp.FileName = listView1.Items[listView1.Items.Count - 1].SubItems[2].Text;
                        }
                        progressBarX1.Maximum = mp.Duration;
                        mp.play();
                        MuscName.Text = MuscName.Tag.ToString().Split(':')[0] + ":[" + listView1.Items[Convert.ToInt32(itemId) + 1].Text + "]";
                    }
                    catch { }
                    break;
                default: break;
            }
        }
        catch { }
    }  

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        AnimateWindow(this.Handle, 1000, AW_SLIDE | AW_ACTIVE | AW_VER_POSITIVE);
    }
    /// <summary>
    /// 截图界面的缩放
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void button1_Click(object sender, EventArgs e)
    {
        if (button1.Text.Equals("展开截图"))
        {  

            button1.Text = "收起截图";
            this.Width = 907;
            AnimateWindow(pictureBox2.Handle, 1000, AW_SLIDE | AW_ACTIVE | AW_HOR_POSITIVE);
            AnimateWindow(pictureBox3.Handle, 1000, AW_SLIDE | AW_ACTIVE | AW_VER_POSITIVE);
            AnimateWindow(label1.Handle, 1000, AW_SLIDE | AW_ACTIVE | AW_VER_POSITIVE);
            AnimateWindow(button5.Handle, 1000, AW_SLIDE | AW_ACTIVE | AW_VER_NEGATIVE);
            AnimateWindow(button2.Handle, 1000, AW_SLIDE | AW_ACTIVE | AW_VER_NEGATIVE);
            AnimateWindow(button3.Handle, 1000, AW_SLIDE | AW_ACTIVE | AW_VER_NEGATIVE);
            AnimateWindow(button4.Handle, 1000, AW_SLIDE | AW_ACTIVE | AW_VER_NEGATIVE);  

            pictureBox2.Visible = true;
            pictureBox3.Visible = true;
            label1.Visible = true;
            button5.Visible = true;
            button2.Visible = true;
            button3.Visible = true;
            button4.Visible = true;
        }
        else
        {  

            pictureBox2.Visible = false;
            pictureBox3.Visible = false;
            label1.Visible = false;
            button5.Visible = false;
            button2.Visible = false;
            button3.Visible = false;
            button4.Visible = false;
            this.Width = 296;
            button1.Text = "展开截图";
        }  

    }
    Image image;
    public Image Snap(int x, int y, int width, int height)
    {
        pictureBox2.BackgroundImageLayout = ImageLayout.Stretch;
        image = new Bitmap(width, height);
        Graphics g = Graphics.FromImage(image);
        g.CopyFromScreen(x, y, 0, 0, new System.Drawing.Size(width, height));
        if (width < pictureBox2.Width && height < pictureBox2.Height)
            pictureBox2.BackgroundImageLayout = ImageLayout.Stretch;
        pictureBox2.BackgroundImage = image;
        return image;
    }
    /// <summary>
    /// 全屏截图
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void radioButton1_CheckedChanged(object sender, EventArgs e)
    {
        try
        {
            th.Suspend();
        }
        catch { }
            pictureBox2.BackgroundImage = null;
            if (radioButton1.Checked)
            {
                radioButton1.Checked = false;
                this.Hide();
                Snap(0, 0, Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);  

                this.Show();  

            }
            else
            {
                return;
            }  

    }
    /// <summary>
    /// 局部截图
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void radioButton2_CheckedChanged(object sender, EventArgs e)
    {
        try
        {
            th.Suspend();
        }
        catch { }
            pictureBox2.BackgroundImage = null;
            if (radioButton2.Checked)
            {
                radioButton2.Checked = false;
                this.Hide();
                Form3 f3 = new Form3(this);
                f3.ShowDialog();
            }
            else
            {
                return;
            }  

    }
    /// <summary>
    /// 开机自启动
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        if(checkBox1.Checked)
        {
            try
            {
                string proPath = Application.ExecutablePath;
                RegistryKey reg = Registry.LocalMachine.CreateSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
                reg.SetValue(Path.GetFileNameWithoutExtension(proPath), proPath);
                reg.Close();
            }
            catch(Exception ex)
            {
                MessageBox.Show("启动设置异常:" + ex.Message);
            }
        }
        else
        {
            try
            {  

                string proPath = Application.ExecutablePath;
                RegistryKey reg = Registry.LocalMachine.CreateSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
                reg.DeleteValue(Path.GetFileNameWithoutExtension(proPath));
                reg.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("启动设置异常:" + ex.Message);
            }
        }
    }
    Thread th;
    Thread upTh;
    Thread downTh;
    string dir = string.Empty;
    private void btnClick(object sender, EventArgs e)
    {
        dir = AppDomain.CurrentDomain.BaseDirectory + "Pic";
        if (Directory.Exists(dir))
        {
            if (Directory.GetFiles(dir).Length > 0)
            {
                Button btn = sender as Button;
                string name = btn.Text;
                switch (name)
                {
                    case "上移":
                        upTh = new Thread(upMoveMain);
                        upTh.IsBackground = true;
                        upTh.Start();
                        break;
                    case "开始":
                        th = new Thread(startPic);
                        th.IsBackground = true;
                        th.Start();
                        break;
                    case "停止":
                        try
                        {
                            th.Suspend();
                        }
                        catch { }
                        break;
                    case "下移":
                        downTh = new Thread(downMoveMain);
                        downTh.IsBackground = true;
                        downTh.Start();
                        break;
                    default: break;  

                }
            }
            else
            {
                return;
            }
        }
        else
        {
            return;
        }
    }
    int num = 0;
    void startPic()
    {  

        try
        {  

            while (num < Directory.GetFiles(dir).Length - 1)
            {
                pictureBox2.BackgroundImage = new Bitmap(Directory.GetFiles(dir)[num].ToString());
                num++;
                Thread.Sleep(2000);
                if (num >= Directory.GetFiles(dir).Length - 1)
                {
                    num = 0;
                }  

            }  

        }
        catch (Exception ex)
        {
            MessageBoxEx.Show("图片已完,请继续..", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }  

    }
    void upMoveMain()
    {  

        try
        {
            if (num > 0)
            {
                num--;
                pictureBox2.BackgroundImage = new Bitmap(Directory.GetFiles(dir)[num].ToString());
            }
            else
            {
                return;
            }
        }
        catch { }  

    }
    void downMoveMain()
    {  

        try
        {
            if (num < Directory.GetFiles(dir).Length - 1)
            {
                num++;
                pictureBox2.BackgroundImage = new Bitmap(Directory.GetFiles(dir)[num].ToString());
            }
            else
            {
                return;
            }
        }catch{}  

    }  

    private void checkBox2_CheckedChanged(object sender, EventArgs e)
    {
        if (checkBox2.Checked)
        {
            if (listView1.Items.Count > 0)
            {  

                    Random rd = new Random();
                    int i = rd.Next(listView1.Items.Count);
                    mp = new WLMusicDll.musicClass();
                    mp.FileName = listView1.Items[i].SubItems[2].Text;
                    progressBarX1.Maximum = mp.Duration;
                    mp.play();
                    MuscName.Text = MuscName.Tag.ToString().Split(':')[0] + ":[" + listView1.Items[i].Text + "]";  

            }
            else
            {
                return;
            }
        }
        else
        {
            return;
        }
    }  

}

}

解决方案二:

http://blog.csdn.net/wanlong360599336/article/details/7555656
http://download.csdn.net/download/mjxy09ksh/3343347

时间: 2024-11-02 12:47:32

c++-用WinForm 窗体 做一个音乐播放器程序。的相关文章

cool edit-如何用C#编写一个音乐播放器,实现波形的显示?

问题描述 如何用C#编写一个音乐播放器,实现波形的显示? 最近编写了一个音乐播放器,以wav和pcm格式为主的,但是不知道如何实现波形的显示,就像 cool edit pro 那样 解决方案 首先要搞清楚一个问题,一般的音乐播放器中播放的那些"波形"是什么?是声波么?如果你觉得是那样,就大错特错了,显示的是频谱,所谓频谱,就是对波形做了傅里叶变换之后的形式.

html-想用Html中的embed做一个音乐点播器,这个能实现吗?

问题描述 想用Html中的embed做一个音乐点播器,这个能实现吗? 我在网上找了一下.没有找到我想要的代码,是之前没有人做吗?我的想法就是一个形式的音乐列表,每一项链接一首本地的歌,点击之后在embed中播放. 解决方案 HTML,,,音乐,html embed用法html使用embed标签实现音乐试听功能 解决方案二: embed嵌入一个activex或者applet,其实真正的代码是用C++/Java去开发的,但是这种做法只有特定的浏览器才支持.是一种过时的做法. 解决方案三: 阿里巴巴下

c#-C#实现一个音乐播放器,循环播放功能怎么实现?

问题描述 C#实现一个音乐播放器,循环播放功能怎么实现? C#实现一个音乐播放器,现在做到循环播放没有思路了,请问怎么才能让歌曲播放完成了从头继续播放而不要出错呢? 解决方案 你可以用一个局部变量记录当前播放的歌曲在列表中的索引.播放完成后+1,然后判断是否超过列表长度,如果超过,重新置0. 解决方案二: 参考:http://download.csdn.net/detail/greatwish/2759821 解决方案三: http://download.csdn.net/download/a2

c#-怎样用C#做简易音乐播放器?用数据库存储播放列表

问题描述 怎样用C#做简易音乐播放器?用数据库存储播放列表 可以播放MP3.wav.WMV.wma等格式的声音文件,具有播放列表功能,要求使用数据库储存播放列表 解决方案 这个很简单的,网上找一大堆,至于用数据库存放,你只要会数据库操作,理清业务逻辑就行了 解决方案二: c#制作的简单音乐播放器 源码参考 http://download.csdn.net/detail/yinchangming/1587916

我的问题-怎样用html5写一个音乐播放器的界面

问题描述 怎样用html5写一个音乐播放器的界面 求用html5写一个音乐播放器的界面的源代码,不需要美观,一个模型即可!!! 解决方案

Moosic 1.5.5发布 一个音乐播放器

Moosic是一个http://www.aliyun.com/zixun/aggregation/9366.html">音乐播放器,快捷的播放列表是管理的重点.它有一个服务器进程,维护一个队列音乐文件播放及客户端程序将命令发送到服务器.服务器不断地浏览播放列表,弹出列表顶部的项目,并播放每一个外部程序.客户端是一个简单的命令行实用工具,它允许你执行服务器的队列,强大的操作,包括整个目录树,自动排序和项目拆除,根据正则表达式,服务器来配置播放MP3,OGG,MIDI,和WAV文件. Moos

使用pymedia和pyqt4写的一个音乐播放器

    这段时间一直在忙论文,很少时间写代码了,不过还是挤出点时间,整理了一下材料写了一个小的音乐播放器. 本来一直使用wxpython,但是考虑到以后工作了要使用qt,就转到pyqt了.以前也总使用fedora或者archlinux版本的linux,发现总是有那么多的包依赖问题要解决.索性改回了ubuntu.pymedia已经很长时间没有更新过了.在网上找了资料成功安装.写代码的过程中,发现以前学的重构和模式没有用上,不过先暂时放一放吧.曾第二个版本出来的时候,再好好重构一番......  

我想做一个C#播放器,急急急

问题描述 我想用C#做一个类似MediaPlayer播放器,怎样向工具箱中添加该组件,该文件是C盘下的哪个dll文件,恳请各位高手指点 解决方案 解决方案二:工具箱右键选择项然后浏览确定就好了解决方案三:如果是MediaPlayer组件选择项选择com组件里面找一下有的解决方案四:在找,机子都差点死了解决方案五:工具箱中右键鼠标--"选择项"在对话框中选择"COM组件"选择MediaPlayer打钩---确定解决方案六:该回复于2008-07-22 15:41:57

audio-求音乐播放器java源代码

问题描述 求音乐播放器java源代码 菜鸟一枚,老师布置作业要做一个音乐播放器,最好是和平时用的界面差不多,能显示歌词或者是相应的背景图片,网上没找到能免费下载的,菜鸟一枚,好多网站都要积分什么的,我没有,哪位大神有资源,求分享 解决方案 http://download.csdn.net/detail/shougaoshougao/4305345 解决方案二: 只需1积分http://download.csdn.net/detail/zjj7188/9298401