欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    多媒体与网络编程实验报告.docx

    • 资源ID:20130415       资源大小:342.61KB        全文页数:29页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    多媒体与网络编程实验报告.docx

    1、多媒体与网络编程实验报告实验10 多媒体与网络编程【测试题1】编写代码实现制作一个音频文件播放器。只需要实现如图所示的简单界面,点击打开弹出对话框,打开一个.wav的波形音频文件,点击“播放”按钮开始播放,点击“停止”按钮则停止播放,按“关机”按钮则退出应用程序。需求分析:1, 项目背景和原因。波形音频是一种电子数字化的声音,是计算机播放音频的一种重要格式,它存储的是声音的波形信息,当播放波形音频时,不管播放文件的设备是何种类型,都会得到相似的声音,波形音频文件通常wav作为文件扩展名。由于采用波形音频存储电子化声音需要大量的存储空间,因此它一般只用于短时间的声音播放。通过设计一个简单的波形音

    2、频播放器,了解MFC,了解接口类MCI。2,波形音频播放器的功能播放器有“打开”,“播放”,“停止”,“关机”三个按钮,同时有一个状态栏,用于显示播放器当前处于的状态。“打开”按钮用于打开一个波形音频文件;“播放”用于播放选中的波形音频文件;“停止”用于暂停正在播放的音频文件,再次点击“播放”时会从暂停出继续播放;“关机”用于退出播放器。播放器界面如图所示:3, 数据字典类向导 ClassWizard静态文本 Static Text按钮 Command Button,4,功能列表“打开”- void CWaverDlg:OnOpen()“播放”- void CWaverDlg:OnPlay()

    3、“停止”- void CWaverDlg:OnStop()“关机”- void CWaverDlg:OnExit()5, 具体实现步骤,1、首先在VisualC+平台上,选择File-New,新建一个名为WaveAudio.h的头文件。代码如下:#if!defined(WAVE_H_INCLUDED_)#define WAVE_H_INCLUDED_#include mmsystem.hclass CWavepublic: BOOL m_bPlaying; BOOL m_bOpen; WORD m_wDeviceID;public: CWave(); virtualCWave(); DWORD

    4、 Open(CString strFileName); /DWORD Close(); DWORD Play(); void Stop(); DWORD Close();#endif2、接下来再新建WaveAudio.cpp文件。代码如下:#include mmsystem.h#include stdafx.h#include afxwin.h#include WaveAudio.hCWave:CWave() m_bPlaying=FALSE; m_bOpen=FALSE; m_wDeviceID=NULL;CWave:CWave() Close();DWORD CWave:Open(CStr

    5、ing strFileName) if(m_bOpen) Close(); DWORD dwOpenFlag; MCI_OPEN_PARMS mciOpenParam; mciOpenParam.lpstrDeviceType=WaveAudio; mciOpenParam.lpstrElementName=strFileName; dwOpenFlag=mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT|MCI_OPEN_TYPE,(DWORD)(LPVOID)&mciOpenParam); if(dwOpenFlag) return dwOpenFl

    6、ag; m_wDeviceID=mciOpenParam.wDeviceID; m_bOpen=TRUE; dwOpenFlag=0; MCI_SET_PARMS mciSetParam; mciSetParam.dwTimeFormat=MCI_FORMAT_MILLISECONDS; dwOpenFlag=mciSendCommand(m_wDeviceID,MCI_SET,MCI_SET_TIME_FORMAT,(DWORD)(LPVOID)&mciSetParam); if(dwOpenFlag) return dwOpenFlag; return 0;DWORD CWave:Play

    7、() MCI_PLAY_PARMS mciPlayParam; DWORD dwPlayFlag; dwPlayFlag=mciSendCommand(m_wDeviceID,MCI_PLAY,NULL,(DWORD)(LPVOID)&mciPlayParam); if(dwPlayFlag) return dwPlayFlag; else m_bPlaying=TRUE; return 0; void CWave:Stop() mciSendCommand(m_wDeviceID,MCI_STOP,NULL,NULL);DWORD CWave:Close() if(m_wDeviceID)

    8、DWORD dwCloseFlag; mciSendCommand(m_wDeviceID,MCI_STOP,MCI_WAIT,NULL); dwCloseFlag=mciSendCommand(m_wDeviceID,MCI_CLOSE,NULL,NULL); if(dwCloseFlag) AfxMessageBox(关闭时出错); return dwCloseFlag; m_bOpen=FALSE; m_bPlaying=FALSE; m_wDeviceID=NULL; return 0;3、新建一个基于对话框类的工程,取名为Waver。在工作区FileView中右键单击Waver,选择

    9、“添加到工程”为工程添加WaveAudio.cpp和WaveAudio.h文件。然后在“工程”-“设置”的“连接”中为工程添加winmm.lib。这之后,需要在文件WaverDlg.h的头部添加#include “WaveAudio.h”。最后在CwaverDlg类中添加成员变量:protect:CWave m_Wave;CString m_strFileName;4、按照要求设计对话框(IDD_WAVER_DIALOG)的界面。要求:“打开”按钮IDC_OPEN“播放”按钮IDC_PLAY“停止”按钮IDC_STOP“关机”按钮IDC_EXIT“状态”静态文本IDC_STATIC编辑框IDC

    10、_STATUS5、用类向导为对话框添加控件变量IDC_OPEN m_btOpenIDC_PLAY m_btnPlayIDC_STATUS m_strStatus6、用类向导为各个函数添加代码void CWaverDlg:OnPlay() / TODO: Add your control notification handler code here if(m_Wave.Play() AfxMessageBox(播放出错); m_Wave.m_bPlaying=TRUE; m_strStatus=正在播放; UpdateData(FALSE);void CWaverDlg:OnOpen() / T

    11、ODO: Add your control notification handler code here CString Filter; char buf128; DWORD dwFlag; Filter=波形音频文件(*.WAV)|*.WAV|; CFileDialog fileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,Filter); if(fileDlg.DoModal()=IDOK) m_strFileName=fileDlg.GetPathName(); dwFlag=m_Wave.Open(m_strFileName); if(dwFlag) mciG

    12、etErrorString(dwFlag,buf,strlen(buf); AfxMessageBox(buf); m_btnPlay.EnableWindow(TRUE); m_strStatus=m_strFileName+文件已经正确打开.; UpdateData(FALSE); void CWaverDlg:OnStop() / TODO: Add your control notification handler code here m_btnPlay.EnableWindow(TRUE); m_btnOpen.EnableWindow(TRUE); if(m_Wave.m_bPla

    13、ying) m_strStatus=播放停止; UpdateData(FALSE); m_Wave.Stop();void CWaverDlg:OnExit() / TODO: Add your control notification handler code here OnCancel();6、运行结果【测试题2】BMP位图显示程序,如下图所示,用一个简单的SDI工程实现单击“文件”-“打开”,选择一个.bmp文件,如果不是真正的BMP文件,或者不是真彩色的BMP文件,程序都将报告有关信息。如果用户选择的是真彩色的BMP文件,则程序会在客户区显示整个图像。需求分析:1, 项目背景和原因。通

    14、过编写图片浏览器进一步加深对VC+编程的理解2, 视频播放器的功能界面上有“选择图片”、“改变图片大小”两个按钮。“选择图片”用于打开一个图片文件,文件格式不限;“改变图片大小”用于扩大或缩小图片。3功能列表“打开图片” -OnFileopen()“改变图片大小”- OnVideo1x()、OnVideo2x()4, 具体实现步骤1、建立工程,工程名为Image。2、设计界面按钮3、功能列表“打开” void CCTLY2412Dlg:OnFileopen() / TODO: Add your command handler code here char szFileFilter=Mp4 Fi

    15、le(*.mp4)|*.mp4|Mp3 File(*.mp3)|*.mp3|Wma File(*.wma)|*.wma|Video File(*.dat)|*.dat|Wave File(*.wav)|*.wav|AVI File(*.avi)|*.avi|Movie File(*.mov)|*.mov|Media File(*.mmm)|*.mmm|Mid File(*.mid;*,rmi)|*.mid;*.rmi|MPEG File(*.mpeg)|*.mpeg|All File(*.*)|*.*|; CFileDialog FileDlg( TRUE, NULL, NULL, OFN_H

    16、IDEREADONLY, szFileFilter ); if( FileDlg.DoModal() = IDOK ) CString PathName = FileDlg.GetPathName(); PathName.MakeUpper(); m_AMovie.SetFileName(PathName); 放大图片void CCTLY2412Dlg:OnVideo1x() / TODO: Add your command handler code here m_AMovie.Pause();m_AMovie.SetMovieWindowSize(1);m_AMovie.Run();缩小图片

    17、void CCTLY2412Dlg:OnVideo2x() / TODO: Add your command handler code here m_AMovie.Pause();m_AMovie.SetMovieWindowSize(2);m_AMovie.Run();,5,运行结果【测试题3】编写一个AVI视频播放器程序,能够播放AVI视频文件。“文件”-“打开”菜单项,选择一个AVI文件,则程序在客户区的左上角创建一个MCIWnd窗口,并且窗口中已该AVI文件的首幅画面。按下MCIWnd窗口控制条中的“播放”按钮就开始播放该AVI文件。需求分析:1, 项目背景和原因。目前有很多视频播放器

    18、,例如暴风影音、迅雷看看等,这些软件都可以很方便的播放各种格式的视频文件。通过自行设计一个建简易播放器,使初学者了解用vc编写视频播放器的方法。2,视频播放器的功能编写一个简单的播放器,此播放器应具有播放至少AVI格式的功能。播放器中有“文件”、“播放”、“视频”、“音频”、“静音”、“消除静音”和“帮助”七个按钮。“文件”按钮下又有“打开”、“关闭”、“退出”三个按钮,其中“打开”用于打开一个视频文件;“关闭”用于关闭当前的视频;“退出”用于退出播放器。“播放”按钮下有“开始”、“暂停”、“停止”,其中“开始”用于开始播放当前视频;“暂停”用于暂停正在播放的视频,当点击“开始”时从暂停的地方

    19、继续播放;“停止”用于停止正在播放的视频,当点击“开始”时又从开头播放。“视频”下又有“原始大小”、“放大2倍”、“缩小2倍”按钮。点击“原始大小”时,播放器窗口大小不变;点击“放大2倍”时,播放器窗口放大为原来的两倍;点击“缩小2倍”时,播放器窗口缩小为原来的一半。“音频”下有“调节音量”、“调节左右声道平衡”。 “调节音量”下又有“增加”和“减小”两个按钮,分别用于增加音量和减小音量;而“调节左右声道平衡”在此播放器中并没有实际功能,若要实现调节左右声道平衡的功能要添加相应的代码,此时此刻我们的目的是要实现一些简单功能就可以了,所以不必理会“调节左右声道平衡”。“帮助”按钮下还有个“关于播

    20、放器”的按钮,由于并没有给其编写相应的代码,也没有实际功能。窗口如下: 3,数据字典类向导 ClassWizard 4,功能列表 播放器中所有的功能及其代码如下(所有的函数定义在类CCTLY2412Dlg中):“打开”-OnFileopen()“关闭”-OnFileclose()“退出”-OnFileexit()“开始”-OnPlaystart()“暂停”-OnPlaypause()“停止”-OnPlaystop()“原始大小”-OnVideo1x()“放大2倍”-OnYi()“缩小2倍”-OnVideo2x()“增加”-OnAdd()“减小”-OnDown()“静音”-OnQiuet()“消

    21、除静音”-OnHuifu()5,具体实现步骤 首先:注册该控件在windows“运行”里写入:regsvr32 msdrm.ocx 单击确定。1、建立基于对话框的工程,工程名为CTLY2412。2、删除IDD_PLAYER_DIALOG对话框中的一个OK按钮、一个Cancel按钮和一个文本框,在对话框中插入一个菜单项,在菜单项中添加子菜单,具体要求见表格顶层菜单项子菜单项ID号文件(&F)打开(&O)ID_FILEOPEN关闭(&C)ID_FILECLOSE退出(&X)ID_FILEEXIT播放(&P)开始(&S)ID_PLAYSTART暂停(&P)ID_PLAYPAUSE停止(&T)ID_P

    22、LAYSTOP视频(&V)原始大小(&O)ID_VIDEO1X原始大小的2倍(&D)ID_VIDEO2X音频(&A)调节音量(&V)ID_AUDEOVOLUME调节左右声道平衡(&B)ID_AUDEOBALANCE帮助(&H)关于 播放器(&A)ID_HELPABOUT3、用类向导为菜单添加类CTCY2412Dlg,与对话框关联起来。4、在对话框中添加ActiveMovie控件,ID为IDC_AMOVIE。如图: 5、用类向导为IDC_AMOVIE映射一个成员变量m_AMovie6、用类向导实现各个按钮的功能,为“打开”-OnFileopen()“关闭”-OnFileclose()“退出”-O

    23、nFileexit()“开始”-OnPlaystart()“暂停”-OnPlaypause()“停止”-OnPlaystop()“原始大小”OnVideo1x()“放大2倍”-OnYi(“缩小2倍”-OnVideo2x()“增加”-OnAdd()“减小”-OnDown()添加代码。void CCTLY2412Dlg:OnFileopen() / TODO: Add your command handler code here char szFileFilter=AVI File(*.avi)|*.avi|Mp4 File(*.mp4)|*.mp4|Mp3 File(*.mp3)|*.mp3|W

    24、ma File(*.wma)|*.wma|Video File(*.dat)|*.dat|Wave File(*.wav)|*.wav|Movie File(*.mov)|*.mov|Media File(*.mmm)|*.mmm|Mid File(*.mid;*,rmi)|*.mid;*.rmi|MPEG File(*.mpeg)|*.mpeg|All File(*.*)|*.*|; CFileDialog FileDlg( TRUE, NULL, NULL, OFN_HIDEREADONLY, szFileFilter ); if( FileDlg.DoModal() = IDOK ) C

    25、String PathName = FileDlg.GetPathName(); PathName.MakeUpper(); m_AMovie.SetFileName(PathName); void CCTLY2412Dlg:OnFileclose() / TODO: Add your command handler code here m_AMovie.SetFileName();-void CCTLY2412Dlg:OnFileexit() / TODO: Add your command handler code here OnCancel();-void CCTLY2412Dlg:On

    26、Playstart() / TODO: Add your command handler code here m_AMovie.Run();SetTimer(0,20,NULL);/设置定时器-void CCTLY2412Dlg:OnPlaypause() / TODO: Add your command handler code here m_AMovie.Pause();-void CCTLY2412Dlg:OnPlaystop() / TODO: Add your command handler code here m_AMovie.Stop(); KillTimer(0);/关掉定时器void CCTLY2412Dlg:OnVideo1x() / TODO: Add your command handler code here m_AMovie.Pause();m_AMovie.SetMovieWindowSize(1);m_AMovie.Run();-void CCTLY2412Dlg:OnVideo2x() / TODO: Add your command handler code here m_AMovie.Pause();m_AMovie.SetMovieWindowSize(2);m_AMovie.Run();-


    注意事项

    本文(多媒体与网络编程实验报告.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开