实训报告样例(3)

2018-11-28 18:13

Windows软件开发项目实训 音视频播放器的设计与实现

第5章 详细设计

5.1主窗体的布局设计(我的模块)

主窗体的布局我们使用的是两个SplitContainer控件。(见3.2软件设计分析) 首先,splitContainer1把窗体分为两部分,把播放列表放在splitContainer1.Panel2。

其次,在

splitContainer1.Panel1

中添加

splitContainer2

splitContainer1 .Panel1分成两部分,在splitContainer2.Panel2中放入控制按钮栏,在splitContainer2.Panel1中添加windows media player控件。

使用SplitContainer控件主要是实现有好的界面和隐藏播放列表和控制按钮功能。

5.2菜单栏(我的模块) 添加MenuStrip控件

主菜单的各菜单及下拉菜单设计见下图(7)图(8)图(9)

图(7)主菜单文件菜单及其下拉菜单

图(8)主菜单播放菜单及其下拉菜单

软件3081·701开发组 第 8 页 共 26 页

Windows软件开发项目实训 音视频播放器的设计与实现

图(9)主菜单皮肤切换菜单及其下拉菜单

5.3控制按钮栏

关于按钮控制栏的设计使用的是ToolStrip控件,如下图(10)

播放/暂停 停止 快退 快进 播放模式切换 全屏切换 上一曲 下一曲 静音 音量控制 图(10)控制按钮菜单

隐藏和显示播放列表

5.4播放列表

播放列表的设计使用的是ToolStrip和ListBox控件,以及列表中的右键菜单ContextMenuStrip控件,如下图(11)

toopStrip2

添加文件夹 添加文件 从列表删除所选 清空列表 ListBox

图(11)播放列表

软件3081·701开发组 第 9 页 共 26 页

Windows软件开发项目实训 音视频播放器的设计与实现

第6章 代码设计

6.1菜单栏菜单的事件代码(我的模块) 1)打开文件 //打开文件

private void 打开ToolStripMenuItem_Click(object sender, EventArgs e) {

OpenFileDialog ofd = new OpenFileDialog(); //打开文件 ofd.Filter = \所有文件.*|*.*|Wmv视频.wmv|*.wmv|歌曲.mp3|*.mp3|歌曲.wma|*.wma|文件.avi|*.avi\ ofd.FilterIndex = 1;

if (ofd.ShowDialog() == DialogResult.OK) {

FileInfo fi = new FileInfo(ofd.FileName); int i;

for (i = 0; i < lbxPlayList.Items.Count; i++) {

if (fi.Name == lbxPlayList.Items[i].ToString()) break; }

if (i == lbxPlayList.Items.Count) {

this.lbxPlayList.Items.Add(fi.Name);

axWindowsMediaPlayer1.currentPlaylist.insertItem(axWindowsMediaPlayer1.currentPlaylist.count, axWindowsMediaPlayer1.newMedia(ofd.FileName)); } } } 2)打开文件夹

//打开文件夹里的文件

private void 打开文件夹ToolStripMenuItem_Click(object sender, EventArgs e) {

FolderBrowserDialog fbd = new FolderBrowserDialog(); if (fbd.ShowDialog() == DialogResult.OK)

软件3081·701开发组

第 10 页 共 26 页

Windows软件开发项目实训 音视频播放器的设计与实现

{

string path_dir = fbd.SelectedPath;

foreach (string filename in Directory.GetFiles(path_dir)) {

FileInfo fi = new FileInfo(filename);

if (fi.Extension == \|| fi.Extension == \|| fi.Extension == \ { int i;

for (i = 0; i < lbxPlayList.Items.Count; i++) {

if (fi.Name == lbxPlayList.Items[i].ToString()) break; }

if (i == lbxPlayList.Items.Count) {

lbxPlayList.Items.Add(fi.Name);

axWindowsMediaPlayer1.currentPlaylist.insertItem(axWindowsMediaPlayer1.currentPlaylist.count, axWindowsMediaPlayer1.newMedia(filename)); } } } } } 3)退出

private void 退出XToolStripMenuItem_Click(object sender, EventArgs e) {

this.Close(); } 4)播放/暂停 //播放暂停 bool b = true;

private void 播放暂停ToolStripMenuItem_Click(object sender, EventArgs e) {

软件3081·701开发组 第 11 页 共 26 页

Windows软件开发项目实训 音视频播放器的设计与实现

if (b) {

axWindowsMediaPlayer1.Ctlcontrols.pause(); //暂停 toolStripButton1.Image = Player.Properties.Resources.未标题_110;

b = false; } else {

axWindowsMediaPlayer1.Ctlcontrols.play(); //播放 toolStripButton1.Image = Player.Properties.Resources.未标题_2; b = true; } } 5)停止

private void 停止ToolStripMenuItem_Click(object sender, EventArgs e) {

axWindowsMediaPlayer1.Ctlcontrols.stop(); //停止 } 6)上一曲 //上一曲

private void 上一曲ToolStripMenuItem_Click(object sender, EventArgs e) {

if (this.lbxPlayList.SelectedIndex > 0) {

this.axWindowsMediaPlayer1.Ctlcontrols.previous();

this.lbxPlayList.SelectedIndex = this.lbxPlayList.SelectedIndex - 1;

} else {

axWindowsMediaPlayer1.Ctlcontrols.playItem(axWindowsMediaPlayer1.currentPlaylist.get_Item(lbxPlayList.Items.Count - 1));

软件3081·701开发组 第 12 页 共 26 页


实训报告样例(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:VB实习体会

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: