知识大全 C#中利用mediaplayer打造mp3播放器
Posted 知
篇首语:只愿我永远在爱里,不断地学习,即使悲伤本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#中利用mediaplayer打造mp3播放器相关的知识,希望对你有一定的参考价值。
C#中利用mediaplayer打造mp3播放器 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
利用Window Media Player 控件自己做一款小巧的mp 播放器来听音乐 是不是很享受呢?今天刚写出来的 听听mp 感觉还不错哦 闲话少说 进入正题
Mp 播放器主要完成下列功能:
添加歌曲 可以添加单个乐曲或者指定文件夹内包括其子文件夹内的所有mp 乐曲到播放列表
删除指定歌曲或所有歌曲
播放的控制 包括选择上一首 下一首播放 顺序播放 循环播放和随机播放 循环播放又分单个歌曲的循环播放和所有歌曲的循环播放
首先建立类player
public class Player
private WMPLib WindowsMediaPlayer myPlayer;
private string[] playList;
private int numOfMusic;
private int currentPlay;
public int NumOfMusic
get
return numOfMusic;
public WMPLib WMPPlayState playstate
get
return myPlayer playState;
public string PlayList(int num)
return playList[num];
public Player(AxWMPLib AxWindowsMediaPlayer mediaPlayer)
myPlayer = mediaPlayer;
playList = new string[ ];
numOfMusic = ;
public void AddFile(string path)
if(numOfMusic < )
numOfMusic ++;
playList[numOfMusic] = path;
public void DelFile(int selectNum)
for(int i = selectNum; i <= numOfMusic ; i++)
playList[i] = playList[i + ];
numOfMusic ;
public void play(int selectNum)
myPlayer URL = playList[selectNum];
currentPlay = selectNum;
public int NextPlay(int type)
/* type = 顺序
type = 重复播放全部
type = 重复播放一首
type = 随机播放
*/
switch (type)
case :
currentPlay ++;
if(currentPlay > numOfMusic)return ;
else return currentPlay;
case :
currentPlay ++;
if(currentPlay > numOfMusic) return ;
else return currentPlay;
case :
return currentPlay;
case :
Random rdm = new Random(unchecked((int)DateTime Now Ticks));
currentPlay = rdm Next() % numOfMusic;
if(currentPlay == ) return numOfMusic;
else return currentPlay;
default:
return ;
Player类中包括一个windowsMediaPlayer对象myPlayer 一个存储播放列表的数组playlist 记录歌曲总数的 numOfMusic 以及当前播放的歌曲对应列表中的序号currentplay;另外有四个方法分别是Play AddFile DelFile 以及获得下次播放序号的NextPlay
分功能列出其他主要代码
添加单个歌曲
if(this openFileDialog ShowDialog() == DialogResult OK)
string path = this openFileDialog FileName;
FileInfo f = new FileInfo(path);
MyPlayer AddFile(f FullName);
string STRFILE = Convert ToString(MyPlayer NumOfMusic);
for(int i = ;i<= STRFILE Length;i++)STRFILE+= ;
STRFILE += f Name;
this listBox Items Add(STRFILE);
添加一个文件夹及其所有子文件夹的歌曲
利用递归函数showfiles实现所有层歌曲都添加到歌曲列表中
private void showfiles(string path ListBox listBox )
DirectoryInfo dir = new DirectoryInfo(path);
foreach(FileInfo f in dir GetFiles( * mp ))
MyPlayer AddFile(f FullName);
foreach(DirectoryInfo f in dir GetDirectories())
showfiles(f FullName listBox );
删除和清空直接调用类Player中的AddFile和DelFile函数
实现播放上一首
if(listBox SelectedIndex >= )
listBox SelectedIndex ;
if(listBox SelectedIndex < )listBox SelectedIndex = MyPlayer NumOfMusic ;
MyPlayer play(listBox SelectedIndex + );
下一首
if(listBox SelectedIndex >= )
listBox SelectedIndex = (listBox SelectedIndex + ) % MyPlayer NumOfMusic;
MyPlayer play(listBox SelectedIndex + );
播放的控制
利用Player的NextPlay方法返回的值来选择下一次播放的内容
同时利用PlayStateChange事件来实现由一曲到下一曲的替换 但是在响应PlayStateChange事件的时候直接改变Player的url无法让它直接播放下一曲 解决方法如下:
private void axWindowsMediaPlayer _PlayStateChange(object sender AxWMPLib _WMPOCXEvents_PlayStateChangeEvent e)
if(MyPlayer playstate == WMPLib WMPPlayState wmppsMediaEnded)
timer Start();
private void timer _Tick(object sender System EventArgs e)
timer Stop();
int selectnum = ;
if(menuItem Checked)selectnum = MyPlayer NextPlay( );
else if (menuItem Checked)selectnum = MyPlayer NextPlay( );
else if (menuItem Checked)selectnum = MyPlayer NextPlay( );
else if (menuItem Checked)selectnum = MyPlayer NextPlay( );
if(selectnum != )
listBox SelectedIndex = selectnum ;
MyPlayer play(selectnum);
cha138/Article/program/net/201311/15463
相关参考
分享——一个简单的MP3播放器的制作 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 利用API函
知识大全 Android MediaPlayer播放音乐有必要使用Service来调用吗
AndroidMediaPlayer播放音乐有必要使用Service来调用吗 以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我
什么软件可以在mp3中添加背景音乐,怎样在软件里添加背景音乐一.在程序中直接播放声音文件在VC++中的多媒体动态连接库中提供了一组与音频设备有关的函数。利用这些函数可以方便地播放声音。最简单的播放声音
用VB实现队列播放MP3 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 队列播放MP就是在文件列
求一些成语故事,MP3格式的,可以在手机上播放 以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!求一些成
用VB.net2008打造你的影音播放器 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本篇文章
用VB.net2008打造你的影音播放器[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本
用VB.net2008打造你的影音播放器[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 进
在酷狗中怎么才能把格式改成mp3的1、选定歌曲:在需要操作的歌曲上(注意只有在播放列表中),点击鼠标右键,选择“格式转换”,弹出“格式转换工具”窗口或者从开始菜单中的酷狗音乐文件夹中选取格式转换工具,
VisualC#打造“浏览器” 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! VisualC#是