资源描述
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Net;
namespace stduenthelper
{
public partial class MPlayer
{
private WMPLib.WindowsMediaPlayer myPlayer =new WMPLib.WindowsMediaPlayer();
private string[] playList = new string[1000];
private int numOfMusic = 0;
private static int currentPlay = 0;
/// <summary>
/// 当前播放的列表
/// </summary>
public int CurrentPlay
{
get { return currentPlay; }
}
public MPlayer(WMPLib.WindowsMediaPlayer mediaPlayer)
{
myPlayer = mediaPlayer;
playList = new string[1000];
numOfMusic = 0;
}
/// <summary>
/// 总共有多少首歌
/// </summary>
public int NumOfMusic
{
get
{
return numOfMusic;
}
}
/// <summary>
///播放状态
/// </summary>
public WMPLib.WMPPlayState playstate
{
get
{
return myPlayer.playState;
}
}
/// <summary>
/// 返回列表中指定的歌曲
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
public string PlayList(int num)
{
return playList[num];
}
/// <summary>
/// 添加歌曲
/// </summary>
/// <param name="path"></param>
public void AddFile(string path)
{
if (numOfMusic < 1000)
{
numOfMusic++;
playList[numOfMusic] = path;
}
}
/// <summary>
/// 删除歌曲
/// </summary>
/// <param name="selectNum"></param>
public void DelFile(int selectNum)
{
for (int i = selectNum; i <= numOfMusic - 1; i++)
{
playList[i] = playList[i + 1];
}
numOfMusic--;
}
/// <summary>
/// 播放
/// </summary>
/// <param name="selectNum"></param>
public void play(int selectNum)
{
myPlayer.URL = playList[selectNum];
currentPlay = selectNum;
}
/// <summary>
/// type = 0 顺序 type = 1 重复播放全部 type = 2 重复播放一首 type = 3 随机播放
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
public int NextPlay(int type)
{
/*
*/
switch (type)
{
case 0:
currentPlay++;
if (currentPlay > numOfMusic) return 0;
else return currentPlay;
case 1:
currentPlay++;
if (currentPlay > numOfMusic) return 1;
else return currentPlay;
case 2:
return currentPlay;
case 3:
Random rdm = new Random(unchecked((int)DateTime.Now.Ticks));
currentPlay = rdm.Next() % numOfMusic;
if (currentPlay == 0) return numOfMusic;
else return currentPlay;
default:
return 0;
}
}
}
}
展开阅读全文