活着的死人 发表于 2015-1-16 22:34:10

ASP.NET网页设计VB.net与Media Player9.0嵌进式开辟

完全不一样的。.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,在命令窗口中输出:regasmc:WMSDKWMPSDK9edistwmppia.dll(regasm是.net供应的pia注册程序,path是它的路径,你能够用搜刮功效来找到它)。 
 列位别觉得注册了pia就能够编程了,你还得将它增加到全局缓存中。在命令窗口中输出: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%的人才能得到的高薪。

若天明 发表于 2015-2-12 03:46:29

由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。

莫相离 发表于 2015-3-2 22:11:50

主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。

飘飘悠悠 发表于 2015-3-11 06:53:49

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

飘灵儿 发表于 2015-3-17 23:06:51

通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。

活着的死人 发表于 2015-3-25 05:10:51

是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
页: [1]
查看完整版本: ASP.NET网页设计VB.net与Media Player9.0嵌进式开辟