C#音乐播放器帮助类


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AxWMPLib;
using WMPLib;
using System.Windows.Forms;


namespace CT_Music
{
    [Serializable]
    /// 
    /// 播放器操作帮助类
    /// 
    public class PlayHelper
    {
        /// 
        /// 声明得到实体播放器控件
        /// 
        public AxWindowsMediaPlayer axPlay;
        public PlayHelper(AxWindowsMediaPlayer axplay)
        {
            this.axPlay = axplay;
        }
        /// 
        /// 播放多媒体文件
        /// 
        public void Play()
        {
            axPlay.Ctlcontrols.play();
        }
        /// 
        /// 暂停正在播放的多媒体文件
        /// 
        public void Pause()
        {
            axPlay.Ctlcontrols.pause();
        }
        /// 
        /// 停止正在播放的多媒体文件
        /// 
        public void Stop()
        {
            axPlay.Ctlcontrols.stop();
        }
        /// 
        /// 将正在播放的多媒体文件快进
        /// 
        public void FastForward()
        {
            axPlay.Ctlcontrols.fastForward();
        }
        /// 
        /// 将正在播放的多媒体文件快退
        /// 
        public void Fastreverse()
        {
            axPlay.Ctlcontrols.fastReverse();
        }
        /// 
        /// 用于获取多媒体文件当前的播放进度,其值是数值类
        /// 
        public string Lengthing()
        {
            string Timeing = axPlay.Ctlcontrols.currentPositionString;
            return Timeing;
        }
        /// 
        /// 用于获取多媒体文件总长度
        /// 
        public string Length()
        {
            string Time = axPlay.currentMedia.durationString;
            return Time;
        }
        /// 
        /// 用于获取多媒体文件名
        /// 
        public string getName()
        {
            //完整路径
            string Url = axPlay.currentMedia.getItemInfo("sourceURL");
            string name = Url.Substring(Url.LastIndexOf("\\") + 1, Url.Length - Url.LastIndexOf("\\") - 5);
            return name;
        }
        /// 
        /// 用于获取多媒体下一曲文件名
        /// 
        public string getNextName()
        {
            for (int i = 0; i < axPlay.currentPlaylist.count; i++)
            {
                if (axPlay.currentPlaylist.Item[i].sourceURL == axPlay.currentMedia.sourceURL)
                {
                    if (i == axPlay.currentPlaylist.count - 1)
                    {
                        return "第一首:" + getName(axPlay.currentPlaylist.Item[0].sourceURL);
                    }
                    return getName(axPlay.currentPlaylist.Item[i + 1].sourceURL);
                }
            }
            return "";
        }
        /// 
        /// 用于获取多媒体文件名
        /// 
        public string getName(string Url)
        {
            //完整路径
            string name = Url.Substring(Url.LastIndexOf("\\") + 1, Url.Length - Url.LastIndexOf("\\") - 5);
            return name;
        }
        /// 
        /// 下一曲 
        /// 
        public void Next()
        {
            if (axPlay.currentPlaylist.count > 0)
            {
                ////判断当前所播放的视频是否是列表的最后一个
                //if (axPlay.currentMedia.name == axPlay.currentPlaylist.Item[axPlay.currentPlaylist.count - 1].name)
                //{
                //    MessageBox.Show("当前已是最后一首!");
                //}
                //else
                //{
                axPlay.Ctlcontrols.next();//播放下一个
                //}
            }
        }
        /// 
        /// 上一曲
        /// 
        public void Previous()
        {
            if (axPlay.currentPlaylist.count > 0)
            {
                ////判断当前所播放的视频是否是列表的第一个
                //if (axPlay.currentMedia.name == axPlay.currentPlaylist.Item[0].name)
                //{
                //    MessageBox.Show("当前已是第一首!");
                //}
                //else
                //{
                axPlay.Ctlcontrols.previous();//播放上一个
                //}
            }
        }
        /// 
        /// 静音
        /// 
        public void NoVol()
        {
            this.axPlay.settings.mute = true;   //静音
        }
        /// 
        /// 非静音
        /// 
        public void OpenVol()
        {
            this.axPlay.settings.mute = false;   //非静音
        }
        /// 
        /// 加音量
        /// 
        public void VolUp()
        {
            if (this.axPlay.settings.volume >= 100)
            {
                this.axPlay.settings.volume = 100;
            }
            else
            {
                this.axPlay.settings.volume += 10;
            }
        }
        /// 
        /// 减音量
        /// 
        public void VolDown()
        {
            if (this.axPlay.settings.volume <= 0)
            {
                this.axPlay.settings.volume = 0;
            }
            else
            {
                this.axPlay.settings.volume -= 10;
            }
        }
        /// 
        /// 顺序播放
        /// 
        public void ascPlay()
        {
            //顺序播放
            axPlay.settings.setMode("shuffle", false);
        }
        /// 
        /// 随机播放
        /// 
        public void randomPlay()
        {
            //随机播放
            axPlay.settings.setMode("shuffle", true);
        }
        /// 
        /// 循环播放
        /// 
        public void whilePlay()
        {
            //循环播放
            axPlay.settings.setMode("loop", false);
        }
    }
}
 
  

说明:使用时可全局先定义PlayHelper playHelper 
再在窗体构造函数内创建对象
public FrmMain(){
playHelper = new PlayHelper(this.axPlay);
}

就可以调用方法使用了

》》好东西,大家一起分享!希望能帮到有需要的朋友们!

这是鄙人自制的C#版音乐播放器http://download.csdn.net/detail/ct_forever/7271899,有兴趣的朋友们可以参见一下

C#音乐播放器帮助类_第1张图片

你可能感兴趣的:(C#编程)