学生作品说明模板.docx

上传人:b****8 文档编号:9297039 上传时间:2023-02-04 格式:DOCX 页数:27 大小:518.33KB
下载 相关 举报
学生作品说明模板.docx_第1页
第1页 / 共27页
学生作品说明模板.docx_第2页
第2页 / 共27页
学生作品说明模板.docx_第3页
第3页 / 共27页
学生作品说明模板.docx_第4页
第4页 / 共27页
学生作品说明模板.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

学生作品说明模板.docx

《学生作品说明模板.docx》由会员分享,可在线阅读,更多相关《学生作品说明模板.docx(27页珍藏版)》请在冰豆网上搜索。

学生作品说明模板.docx

学生作品说明模板

 

《C#程序设计》

综合实训说明书

题目:

播放器

班级:

网络技术二班

学号:

0906008229

姓名:

李春林

漳州职业技术学院计算机工程系

2011年6月10日

目录

前言…………………………………………………………………………………×

功能一(或单元一)××××××××××……………………………………×

功能二(或单元一)××××××××××……………………………………×

……

前言

(说明实训的内容,主要介绍功能模块,采用的方法等)

实训的内容

引用window自带的“windowmediaplayer”控件,实现音乐播放、暂停、停止、前进一首、后退一首、静音和声音控制。

当然了歌曲的循环播放、单首播放和随机播放是不可少的。

还有歌曲的一些添加,如一个文件夹下多首歌曲一起添加,歌曲的删除,歌曲的查找等等。

音乐作为主程序,辅助的有个截屏程序。

截屏是现在很多程序都必带的程序,很多情况下,多要用到它。

 

功能简介

实施步骤

步骤一:

添加音乐

添加音乐文件:

除了视频文件外,其它音乐文件格式都可以用。

但是程序是默认为MP3格式的,打开时,首选是MP3格式。

音乐可以多个被选中,一起添加到lvplqylist中。

单机“删除歌曲”可以删除被选中的歌曲。

效果截图:

步骤二:

基本控件功能

点击“播放”或者双击lvplqylist空白处会自动默认为首歌播放。

当然有些人认为第一首歌不好听,喜欢其它的,你就可以选中歌曲,再点击播放;或者双击歌曲,会播放选中的歌曲。

歌曲播放后,进程条和TimeLabel标签会清楚的知道歌曲的播放程度和时间。

同时“播放”变成“暂停”,点击“暂停”,歌曲会暂停在原来的位置。

点击“《|”或者“|》”可以播放上一首或者下一首,点击“停止”,将会介绍歌曲的播放。

最后傍边还有“单首、“循环”和“随机”三个单选按钮,它们分别实现是选中的歌曲重复的播放、所有歌曲重复的播放和随机任意的播放歌曲。

移动trackBar1空间可以选择音量的大小,或者点击musickg控件可以使音乐静音了。

效果截图:

步骤三:

其它button功能

点击“增加网络音乐”可以创建一个歌曲文件,添加到lvplqylist里,但是它却不能实现被播放,只是当作一个不可用的文件。

在TxtSongName文本里输入想要查找的歌曲的完整文件名,可以查找lvplqylist里是否有该歌曲。

效果截图:

步骤四:

退出

一般情况下,我们都喜欢程序不显示在桌面上或者我们不小心点到右上角的☒,而程序不会被退出,将最小化在任务栏中的通知栏那里,右击图标,会跳出菜单栏,点击“主程序”还回form窗体,点击”截屏”运行截屏小程序,点击“退出”将会退出所有程序。

效果截图:

步骤四:

截屏

点击“截屏”会截下当前桌面屏幕,放入form3中。

然后鼠标变成“+”现状。

按下鼠标到鼠标结束时会截下按下鼠标点到鼠标结束点之间的长方形区域的图。

然后你可以保存图片。

我设置保存固定位置为“d:

\123.jpg”。

点击退出,可以“退出”截屏窗口。

效果截图:

程序代码

1.Form1代码:

usingSystem.IO;

namespaceex092

{

publicpartialclassForm1:

Form

{

publicForm1()

{

InitializeComponent();

}

publicstaticstringsstr="";

privatevoidAddSongButton_Click(objectsender,EventArgse)

{

try

{

openFileDialog1.InitialDirectory=@"d:

\";

openFileDialog1.Filter="mp3文件(*.mp3)|*.mp3|allfiles(*.*)|*.*";

openFileDialog1.Multiselect=true;

openFileDialog1.Title="请选择媒体文件";

DialogResultresult=openFileDialog1.ShowDialog();//打开对话框选择音乐文件

if(result==DialogResult.OK)//如果选择了音乐文件

{

string[]FilePath=openFileDialog1.FileNames;//获取音乐完整文件路径

//获取音乐名

for(inti=0;i

{

stringSongName=FilePath[i].Substring(FilePath[i].LastIndexOf('\\')+1);

ListViewItemlv=newListViewItem(SongName);//根据音乐名生成一个列表项

lv.Tag=FilePath[i];//将音乐名的完整路径存放在列表项的Tag标记属性中,方便读取

lv.ImageIndex=1;

LvPlayList.Items.Add(lv);//添加

}

}

}

catch(Exceptionerror)

{

MessageBox.Show(error.Message.ToString());

}

}

privatevoidDelSongButton_Click(objectsender,EventArgse)

{

if(LvPlayList.SelectedItems.Count>0)

{

LvPlayList.SelectedItems[0].Remove();

}

}

privateintCurrPlayID;//用于保存当前音乐列表的正在播放的音乐位置索引值

privatevoidmusicPlay()//播放歌曲

{

//如果有选中要播放的歌曲

if(LvPlayList.SelectedItems.Count>0)

{

//设置控件播放路径

Mp3Player.URL=LvPlayList.SelectedItems[0].Tag.ToString();

Mp3Player.Ctlcontrols.play();//开始播放

//显示当前播放歌曲名

SongLabel.Text="当前音乐:

"+LvPlayList.SelectedItems[0].Text.ToString();

timer1.Enabled=true;//开启时钟延时功能

PlayButton.Text="暂停";

CurrPlayID=LvPlayList.SelectedItems[0].Index;

}

elseif(LvPlayList.Items.Count>0){

LvPlayList.Items[0].Selected=true;

musicPlay();

}

}

//双击播放列表播放歌曲

privatevoidPlayButton_Click(objectsender,EventArgse)

{

//播放

if(PlayButton.Text=="播放")

{

if(Mp3Player.URL.Length==0)

{

musicPlay();

}

else

{

Mp3Player.Ctlcontrols.play();

PlayButton.Text="暂停";

}

}

else//暂停

{

Mp3Player.Ctlcontrols.pause();

PlayButton.Text="播放";

}

}

privatevoidStopButton_Click(objectsender,EventArgse)

{

Mp3Player.Ctlcontrols.stop();

PlayButton.Text="播放";

}

privatevoidPreButton_Click(objectsender,EventArgse)

{

//如果是第一首

if(CurrPlayID==0)

{

CurrPlayID=LvPlayList.Items.Count-1;//移到最后一首

LvPlayList.Items[CurrPlayID].Selected=true;

}

else

{

CurrPlayID--;//移到上一首

LvPlayList.Items[CurrPlayID].Selected=true;

}

musicPlay();//播放

}

privatevoidNextbutton_Click(objectsender,EventArgse)

{

//如果是最后一首

if(CurrPlayID==LvPlayList.Items.Count-1)

{

LvPlayList.Items[0].Selected=true;//移到第一首

CurrPlayID=0;

}

else

{

CurrPlayID++;//移到下一首

LvPlayList.Items[CurrPlayID].Selected=true;

}

musicPlay();//播放

}

privatevoidLvPlayList_DoubleClick(objectsender,EventArgse)

{

musicPlay();

}

privatevoidtimer1_Tick(objectsender,EventArgse)

{

//读取总长度

intduration=Convert.ToInt32(Mp3Player.currentMedia.duration);

if(duration==0)//如果读取的总长度为0,表示未完成初始化

return;//返回

//设置进度条最大值

if(PBSongLength.Maximum!

=duration)

{

PBSongLength.Minimum=0;//进度条最小值

//进度条最大值,要强制从double转成int型

PBSongLength.Maximum=duration;

}

//设置显示进度

if(TimeLabel.Text!

=Mp3Player.Ctlcontrols.currentPositionString)

{

TimeLabel.Text="时间:

"+Mp3Player.Ctlcontrols.currentPositionString;

PBSongLength.Value=Convert.ToInt32(Mp3Player.Ctlcontrols.currentPosition);

}

//如果播放完毕

if(TimeLabel.Text==Mp3Player.currentMedia.durationString)

timer1.Enabled=false;//关闭时钟

}

privatevoidMp3Player_PlayStateChange(objectsender,AxWMPLib._WMPOCXEvents_PlayStateChangeEvente)

{

if(e.newState==Convert.ToInt32(WMPLib.WMPPlayState.wmppsMediaEnded))

{

timer2.Enabled=true;

}

}

privatevoidtimer2_Tick(objectsender,EventArgse)

{

PlayButton.Text="播放";

PBSongLength.Value=0;

TimeLabel.Text="00:

00";

if(radioButton1.Checked)

{

Nextbutton_Click(null,null);//直接下一首

}

elseif(radioButton2.Checked)

{

TimeLabel.Text=radioButton2.Text;

Mp3Player.Ctlcontrols.play();

}

elseif(radioButton3.Checked)

{

Randomr=newRandom();//生成随机播放的ID

CurrPlayID=r.Next(0,LvPlayList.Items.Count);

LvPlayList.Items[CurrPlayID].Selected=true;

musicPlay();//播放

}

else

{

//如果不是最后一首

if(CurrPlayID

{

CurrPlayID++;//移到下一首

LvPlayList.Items[CurrPlayID].Selected=true;

musicPlay();//播放

}

}

timer2.Enabled=false;

}

privatevoidSearchButton_Click(objectsender,EventArgse)

{

stringFindSongName=TxtSongName.Text;//获取要搜索的文件名

stringselectsong="";

//从播放列表中遍历搜索

for(inti=0;i

{

//如果音乐名包含要搜索的关键字

if(LvPlayList.Items[i].Text==FindSongName)

{

selectsong="true";

LvPlayList.Items[i].Selected=true;//将它设成选中

break;//搜索结束

}

}

if(selectsong!

="true")

{

MessageBox.Show("没有找到相应的歌曲文件!

");

}

}

privatevoidForm1_Load(objectsender,EventArgse)

{

}

privatevoidNetworkMusic_Click(objectsender,EventArgse)

{

Form2form2=newForm2();//注册form2_MyEvent方法的MyEvent事件

form2.MyEvent+=newMyDelegate(form2_MyEvent);

form2.Show();

}

voidform2_MyEvent(stringtext)

{

stringFilePath=sstr;//获取音乐完整文件路径

//获取音乐名

stringSongName=FilePath.Substring(FilePath.LastIndexOf('\\')+1);

ListViewItemlv=newListViewItem(SongName);//根据音乐名生成一个列表项

lv.Tag=FilePath;//将音乐名的完整路径存放在列表项的Tag标记属性中,方便读取

lv.ImageIndex=1;

LvPlayList.Items.Add(lv);//添加

}

privatevoidmusickg_Click(objectsender,EventArgse)

{

if(Mp3Player.settings.mute==true)

{

Mp3Player.settings.mute=false;

}

else

{

Mp3Player.settings.mute=true;

}

}

privatevoidtrackBar1_Scroll(objectsender,EventArgse)

{

Mp3Player.settings.volume=trackBar1.Value;

}

privatevoidshowfiles(stringpath,ListBoxlistBox1)

{

stringPaths="d:

\\abc";

DirectoryInfodir=newDirectoryInfo(Paths);

if(dir.Exists)

{

MessageBox.Show("sfsdfs==f");

}

else{

MessageBox.Show("不存在");

}

foreach(FileInfofindir.GetFiles("*.mp3"))

{

stringFilePath=f.FullName;//获取音乐完整文件路径

//获取音乐名

stringSongName=FilePath.Substring(FilePath.LastIndexOf('\\')+1);

ListViewItemlv=newListViewItem(SongName);//根据音乐名生成一个列表项

lv.Tag=FilePath;//将音乐名的完整路径存放在列表项的Tag标记属性中,方便读取

lv.ImageIndex=1;

LvPlayList.Items.Add(lv);//添加

}

foreach(DirectoryInfofindir.GetDirectories())

{

showfiles(f.FullName,listBox1);

}

}

privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse)

{

e.Cancel=true;//取消关闭窗体

this.Hide();

this.ShowInTaskbar=false;//取消窗体在任务栏的显示

this.notifyIcon1.Visible=true;//显示托盘图标

}

privatevoid主程序ToolStripMenuItem_Click(objectsender,EventArgse)

{

this.Show();

this.ShowInTaskbar=true;

this.notifyIcon1.Visible=false;

}

privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse)

{

this.Dispose(true);

Application.ExitThread();

}

privatevoidtoolStripMenuItem1_Click(objectsender,EventArgse)

{

Form3form3=newForm3();

this.Hide();

form3.Show();

}

}

}

2.form2代码

namespaceex092

{

publicdelegatevoidMyDelegate(stringtext);

publicpartialclassForm2:

Form

{

publiceventMyDelegateMyEvent;

publicForm2()

{

InitializeComponent();

}

privatevoidForm2_Load(objectsender,EventArgse)

{

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

MyEvent(this.textBox1.Text);

this.Close();

}

privatevoidtextBox1_TextChanged(objectsender,EventArgse)

{

Form1.sstr=textBox1.Text;

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

this.Close();

}

}

}

3.form3代码

usingSystem.IO;

namespaceex092

{

publicpartialclassForm3:

Form

{

privateBitmapMyImage=null;

privateboolStartedCrop=false;

PointStartPoint=newPoint(0,0);

RectangleSelectRect=newRectangle();

intDeltaX=0;

intDeltaY=0;

publicForm3()

{

InitializeComponent();

}

[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]

privatestaticexternboolBitBlt(

IntPtrhdcDest,

intnXDest,

intnYDest,

intnWidth,

intnHeight,

IntPtrhdcSrc,

intnXSrc,

intnYSrc,

System.Int32dwRop

);

[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]

privatestaticexternIntPtrCreateDC(

stringlpszDriver,

stringlpszDevi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1