最近, 用C#写了个小程序。自娱自乐哈~~~~
调用AxWMPLib库,编写了个4分屏的媒体播放器。
不废话了。先来看看结果。
这里,笔者今天捣鼓了一个下午,完全没招。>M<
这里没有实现 “上一个”, “下一个”, “播放列表”,“剩余时间:”。
若你有很好的关于做好这个 “剩余时间:”, 还请指教哈。^_^
~~~~~下面附上代码,在代码的最后,附上源码链接地址~~~
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace NewStyle
{
public partial class Form1 : Form
{
enum ChangePlayer
{
player1,
player2,
player3,
player4
}
ChangePlayer changedPlayer;
public Form1()
{
InitializeComponent();
}
///----菜单栏帮助下的关于按钮
private void 关于AToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("author : 墨_晴 \n\n开发环境:VS2013\n\n开发语言:C# \n\nversion : 1.0");
}
///----面板添加按钮事件函数
///----这里默认使用播放器1打开 文件
private void addBtn_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDlg = new OpenFileDialog();
openFileDlg.Filter = "*.mp3|*.mp3|*.wma|*.wma|*.rmvb|*.rmvb|*.wmv|*.wmv|all|*.*";
if (openFileDlg.ShowDialog() == DialogResult.OK)
{
mediaPlayer1.URL = openFileDlg.FileName;
mediaPlayer1.settings.volume = volume_trackBar.Value;
media1_Timer.Start();
/----显示曲名 + 时间
//songName_label.Text = "曲名:" + mediaPlayer1.Ctlcontrols.currentItem.name;
//time_label.Text = "剩余时间:" + mediaPlayer1.currentMedia.durationString;
///----播放列 列表添加播放清单
controlEnable(true);
}
}
///---计时器暂停
private void timerStopped(Timer timer)
{
timer.Stop();
}
///---播放器暂停
private void playerStopped(AxWMPLib.AxWindowsMediaPlayer mediaPlayer)
{
mediaPlayer.Ctlcontrols.pause();
}
///----播放器1
private void mediaPlayer1_ClickEvent(object sender, AxWMPLib._WMPOCXEvents_ClickEvent e)
{
///----其它播放器的计时器停下来,并且设置其它 播放器处于暂停状态
timerStopped(media2_Timer);
timerStopped(media3_Timer);
timerStopped(media4_Timer);
playerStopped(mediaPlayer2);
playerStopped(mediaPlayer3);
playerStopped(mediaPlayer4);
///---确定当前播放器
changedPlayer = ChangePlayer.player1;
///---音量控制
volume_trackBar.Value = mediaPlayer1.settings.volume;
///---进程条
process_trackBar.Value = (int)mediaPlayer1.Ctlcontrols.currentPosition;
///----静音
muteBtn.Text = "静 音";
volume_trackBar.Maximum = (int)mediaPlayer1.settings.volume;
}
///---播放器2
private void mediaPlayer2_ClickEvent(object sender, AxWMPLib._WMPOCXEvents_ClickEvent e)
{
timerStopped(media1_Timer);
timerStopped(media3_Timer);
timerStopped(media4_Timer);
playerStopped(mediaPlayer1);
playerStopped(mediaPlayer3);
playerStopped(mediaPlayer4);
///---确定当前播放器
changedPlayer = ChangePlayer.player2;
///---音量控制
volume_trackBar.Value = mediaPlayer3.settings.volume;
///---进程条
process_trac