仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 682|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET网页设计VB.net与Media Player9.0嵌进式开辟

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:34:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
完全不一样的。.net其实我也说不太清,.net可以把他理解为跟J2EE相对的工具。c++主要做系统相关的开发你要学.net的话就应该学C#。(其实微软在.NET平台上也考虑了给C++留一个地位。WindowsMediaPlayer9.0是微软推出的最新数字媒体播放器,它除承继了mediaplayer8.0的优异的地方外,还增加了很多的有用功效。不外这些功效并非本文报告的重点,本文要讲的是怎样使用mediaplayer来编写一个本人的嵌进式软件,并让它具有播放cd,vcd,avi,mp3等的功效。  要编写这个程序你起首要熟习vb.net,由于本程序是利用vb.net编写。在你的盘算机上要安装windowsmediaplayer9.0。最初最关头的是要安装windowsmendiaplayer9.0sdk,在sdk中包括了一个dll,这个dll的感化是完成com和.net之间的转换,由于mediaplayer9.0的编程要利用一个mediaplayer9.0activeX控件,而activeX的实质就是一个com。关于windowsmendiaplayer9.0sdk能够到微软的msdn往下载。  
完成下面3个软件的安装后还不成以下手编写代码,由于要包管mendiaplayer9.0要与.net框架通讯,还必需注册mendiaplayer9.0的pia,所谓pia是"Primaryinteropassemblies"的缩写自己将它翻译为"原始外部汇编集",之以是要先注册它是由于com手艺出生在.net手艺之前要让com和.net通讯就要一其中间层来毗连这双方在mendiaplayer9.0中利用mendiaplayer9.0sdkredist目次下的wmppia.dll来注册mendiaplayer9.0的pia,在命令窗口中输出:[path]regasmc:WMSDKWMPSDK9edistwmppia.dll(regasm是.net供应的pia注册程序,path是它的路径,你能够用搜刮功效来找到它)。 
 列位别觉得注册了pia就能够编程了,你还得将它增加到全局缓存中。在命令窗口中输出:[path]Gacutil/iC:WMSDKWMPSDK9edistwmppia.dll(Gacutil是.net供应的全局缓存增加程序,path是它的路径,你能够用搜刮功效来找到它) 
 完成下面的5个步骤后就能够入手下手编写代码了。为了让.net利用pia,我们必需要在代码的开首增加上面一条语句:ImportsMicrosoft.MediaPlayer.Interop如今就能够入手下手我们的编程之旅了。
  右击vs.netide的控件工具箱,在快速菜单中单击"自界说工具箱",在"自界说工具箱"当选中"windowsmediaplayer"并单击"断定"()




  此时会在控件工具拦底部增加一个mendia的控件标记。双击此控件,将它放在窗

  体上。右击它并点击"属性"在呈现的属性窗口()中将"选择形式"设置为"none"并单击"断定",如许做的目标是往失落本来的播放控件。





  然后在窗口中在增加如的控件,在属性窗口中将TrackBar1控件的最年夜和最小值设定为100和0,由于media的音量局限是0到100,我们用TrackBar1控件来调剂播放音量。T  imer1的interval设置为1000。





  如今能够输出以下代码了:

PrivateSubButton1_Click(ByValsenderAsSystem.Object,
  ByValeAsSystem.EventArgs)HandlesButton1.Click
翻开和封闭一切光驱仓门
Dimi
Dimk=AxWindowsMediaPlayer1.cdromCollection.count()
Ifk>1Then
Fori=0Tok-1
AxWindowsMediaPlayer1.cdromCollection.Item(i).eject()
Next
Else
AxWindowsMediaPlayer1.cdromCollection.Item(0).eject()
EndIf
EndSub
PrivateSubForm1_Load(ByValsenderAsObject,
  ByValeAsSystem.EventArgs)HandlesMyBase.Load
取得盘算机中有几个光驱和它们的盘符
Dimi
DimcdlabelAsString
Dimk=AxWindowsMediaPlayer1.cdromCollection.count()
Ifk>1Then
Fori=0Tok-1
cdlabel=cdlabel&
  AxWindowsMediaPlayer1.cdromCollection.Item(i).driveSpecifier()
Label1.Text="这台盘算机共有"&k&
  "台CD-ROM"&"分离是"&cdlabel&""
Next
Else
cdlabel=cdlabel+
  AxWindowsMediaPlayer1.cdromCollection.Item(0).driveSpecifier()
Label1.Text="这台盘算机共有"&k&
  "台CD-ROM"&"分离是"&cdlabel&""
EndIf
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,
  ByValeAsSystem.EventArgs)HandlesButton2.Click
DimstrfilenameAsString
DimOpenFileDialog1AsSystem.Windows.Forms.OpenFileDialog=
  NewSystem.Windows.Forms.OpenFileDialog()
OpenFileDialog1.ShowDialog()
strfilename=OpenFileDialog1.FileName
AxWindowsMediaPlayer1.URL=strfilename
EndSub
PrivateSubButton3_Click(ByValsenderAsSystem.Object,
    ByValeAsSystem.EventArgs)HandlesButton3.Click
AxWindowsMediaPlayer1.controls.play()播放
EndSub
PrivateSubButton5_Click(ByValsenderAsSystem.Object,
    ByValeAsSystem.EventArgs)HandlesButton5.Click
AxWindowsMediaPlayer1.controls.stop()中断
EndSub
PrivateSubAxWindowsMediaPlayer1_PlayStateChange(ByValsenderAsObject,
 ByValeAsAxMicrosoft.MediaPlayer.Interop._WMPOCXEvents_PlayStateChangeEvent)Handles
   AxWindowsMediaPlayer1.PlayStateChange
暗示播放媒体产生变更时触发此事务
Label4.Text="此文件播放总工夫是"&
    AxWindowsMediaPlayer1.currentMedia.durationString
Timer1.Enabled=True
Label5.Text="题目"&
   AxWindowsMediaPlayer1.currentMedia.getItemInfoBytype("Title","",0)
Label6.Text="作者"&
   AxWindowsMediaPlayer1.currentMedia.getItemInfoBytype("Author","",0)
EndSub
PrivateSubButton4_Click(ByValsenderAsSystem.Object,
    ByValeAsSystem.EventArgs)HandlesButton4.Click
AxWindowsMediaPlayer1.controls.pause()停息
EndSub
PrivateSubTimer1_Tick(ByValsenderAsSystem.Object,
    ByValeAsSystem.EventArgs)HandlesTimer1.Tick
Label2.Text="已播放工夫"&
  CInt(AxWindowsMediaPlayer1.controls.currentPosition)&"秒"
EndSub
PrivateSubTrackBar1_Scroll(ByValsenderAsSystem.Object,
    ByValeAsSystem.EventArgs)HandlesTrackBar1.Scroll
AxWindowsMediaPlayer1.settings.volume=TrackBar1.Value调剂输入音量
EndSub
  程序申明:当你按下F5入手下手编译时,体系会提醒你有一个毛病,这个毛病就是在"Windows窗体计划器天生的代码"中的"Me.AxWindowsMediaPlayer1.enabled=True"这条语句引发的,其缘故原由是mediaplayer9.0的控件与.net的兼容成绩,此成绩已失掉微软的证明,鄙人一版本中即vs2003.net将不会有此成绩,在此版本中办理办法是将此代码往失落便可。

  文中利用的getItemInfoBytype属性是用来读取元数据的中的信息(关于元数据的界说见sdk),这些信息是在媒体创建时输出出来的,可是这个属性其实不会在你编写代码时主动呈现,有就是说不具有智能添补功效,其缘故原由是mediaplayer9.0控件的某些新功效是经由过程接口公布的,而未在com范例库中公布,以是不具有智能添补功效。不外你能够依照sdk给出的语法誊写,编译器不会辨认不出来的。程序中对文件的播放工夫的盘算单元是秒,假如你感乐趣能够将它转换为mm:ss的格局。

  运转如





2003年中微软发布最新版本的ASP.netWebMatrix,对于我们喜欢用Asp.net来编程的朋友实在是个好消息,我也实实在在的将Asp.net更深入的研究了一下,以方便我以后更好的运用它,同时我也讲讲使用它的感受。
老尸 该用户已被删除
沙发
发表于 2015-1-19 16:52:10 来自手机 | 只看该作者
Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。
再现理想 该用户已被删除
板凳
发表于 2015-1-28 05:25:09 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。
只想知道 该用户已被删除
地板
发表于 2015-2-5 14:13:39 | 只看该作者
我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。
若天明 该用户已被删除
5#
发表于 2015-2-12 03:46:29 | 只看该作者
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
莫相离 该用户已被删除
6#
发表于 2015-3-2 22:11:50 | 只看该作者
主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-11 06:53:49 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
飘灵儿 该用户已被删除
8#
发表于 2015-3-17 23:06:51 | 只看该作者
通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
活着的死人 该用户已被删除
9#
 楼主| 发表于 2015-3-25 05:10:51 | 只看该作者
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-5 16:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表