网页中播放音乐的实现方法代码

来源:互联网 发布:上网管理行为软件 编辑:程序博客网 时间:2024/05/18 03:19

问题:

我想在网页上实现读卡器读卡,并驱动串口热敏打印机打印

想通过网页加载activex控件或是插件来实现

但不知道vb中建工程应该是选择 activeX EXE 还是activeX Dll 或是active x控件

最好能给出一个实现过程的简要介绍

回答:

1》如果你的目的是在网页中访问客户端的硬件设备,大体如下:
·将访问硬件的代码用Dll的方式封装在类中,将该dll做成可下载安装的cab文件(内含一个dll和同名的inf文件),放在web服务器上;
·在网页中用 <object>标记定义类的实例,同时由于指定了cab文件而实现了自动下载安装的功能;
·在网页中用客户端脚本(比如java-script)对对象进行调用,如果结果需要传回服务器,可以赋值给ASP的字段进行传回。

2》首先将你的读卡器写成DLL形式.对外提供各种处理函数的接口
然后在你的网站服务器上注册这个DLL.
然后网页中引用你这个DLL.然后可以通过你提供的接口实现功能.
具体方法见你功能而定 。

=============================================================

 

第一种方式:采用wmplayer控件
  <object name="wmplayer" classid=CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95 width=0 height=0
  codebase=http://activex.microsoft.com/ activex/controls/mplayer/en/nsmp2inf.cab# Version=5,1,52,701
  height=180 id=MIDIPlayer type=application/x-oleobject VIEWASTEXT standby=" 加载 Microsoft Windows Media Player 组件...">
  <param name="FileName" value=" http://yourURL/xxx.wma">
  <param name="AutoStart" value="true">
  <param name="AutoRewind" value="-1">
  <param name="AnimationAtStart" value="false">
  <param name="ShowControls" value="false">
  <param name="ClickToPlay" value="false">
  <param name="EnableContextMenu" value="true">
  <param name="EnablePositionControls" value="false">
  <param name="Balance" value="0">
  <param name="ShowStatusBar" value="false">
  <param name="AutoSize" value="0">
  <embed type="application/x-mplayer2"
  pluginspage="http:// www.microsoft.com/Windows/ Downloads /Contents/Products/MediaPlayer/"
  filename src autostart="false" enablecontextmenu="false" clicktopla
  y="false" enablepositioncontrols="false" showcontrols="0" showstatusbar="1" showdisplay="0">
  </object>
  第二种方式:html标签,似乎更简单
  <bgsound id='bgsound' src="http://yourURL/xxx.mid" loop=-1 >
   <input type="button" value="停止" onclick="_stop()">
   <input type="button" value="开始" onclick="_start()">
   <script language="JavaScript">
   function _start() {
   bgsound.src = "http://yourURL/xxx.mid";
   }
   function _stop(){
   bgsound.src = "";
   }
   </scrip>

 

==============================================

<IFRAME style="WIDTH: 592px; HEIGHT: 204px" src="包含视频的网页.htm" frameBorder=1 scrolling=yes></IFRAME>


在网页插入视频播放器代码

一、插入RealPlayer ActiveX对象(如果要进行测试,需要先安装RealPlayer播放器)
假定以下代码包含在video.php文档中(该文件将在主页面中通过<iframe>进行链接)。
<object width="320" height="250" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">
<param name="CONTROLS" value="ImageWindow">
<param name="CONSOLE" value="Video">
<param name="CENTER" value="TRUE">
<param name="MAINTAINSPECT" value="TRUE">
</object> //定义播放界面
<object width="320" height="30" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">
<param name="CONTROLS" value="StatusBar">
<param name="CONSOLE" value="Video">
</object> //定义状态栏
<object width="320" height="30" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">
<param name="CONTROLS" value="ControlPanel"><param name="CONSOLE" value="Video">
<param name="SRC" value="<?php echo getsrc(); ?>">
<param name="AUTOSTART" value="TRUE">
<param name="PREFETCH" value="0">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
</object> //定义控制面板
其中,CONTROLS参数用来指定播放器的控件外观,可以用多个控件进行组合,并通过CONSOLE参数进行关联。
有关param参数,读者可以参阅RealPlayer官方网站http://service.real.com/help/library/guides/production/htmfiles/control.htm。
这里的SRC参数尤为重要,用来指定视频流文件的URL地址。这里笔者使用PHP代码的方法动态的指定SRC,读者也可以使用其它如ASP,或完全过 JavaScript 实现。

二、使用DHTML动态控制RealPlayer控件的播放
小技巧:<IFRAME>的妙用。由于为RealPlayer控件指定新的SRC需要刷新页面,使用<IFRAME>可以把RealPlayer控件嵌入到单独的页面中,这样,动态刷新就是在<IFRAME>内进行,不会影响用户观看页面其它内容。
以下代码包含在主页面中:
<IFRAME id="iVideo" SRC="video.php" Width=500 Height=345 frameborder=0 SCROLLING="no">
</IFRAME>,其中,video.php文件用力显示RealPlayer控件。
下面我们加入简单的JavaScript 代码用来控制视频的播放。
<script language="JavaScript">
function play(filename){
top.document.all("iVideo").src = "video.php?src="+filename;
} // iVideo 是刚刚定义的IFRAME 的标识符
</script>
我们可以使用javascript控制RealPlayer插件更复杂的功能,如提取视频的长宽、测试用户的网络速率、自定义播放事件等等。关于RealPlayer ActiveX开发的具体细节,请参阅RealPlayer官方网站http://service.real.com/help/library/guides/extend/embed.htm。
我们假设有一个视频文件,其URL为http://YourURL/filename.ram,那么我们就可以这样定义:
<a href="JavaScript:play('http://YourURL/filename.ram')">文件1</a>,如果文件是在本地,URL也可以为相对路径。

三、检测用户是否安装RealPlayer播放器
在页面的<head></head>部分加入以下JavaScript代码,用以检测用户是否安装RealPlayer播放器:
<SCRIPT LANGUAGE=JavaScript>
<!--
var RealMode=0;
var RealPlayer5=0;
var RealPlayer4=0;
var RealPlayerG2=0;
if (navigator.userAgent.indexOf("MSIE")< 0 ){
numPlugins = navigator.plugins.length;
for (i = 0; i < numPlugins; i++){
plugin = navigator.plugins[i];
if (plugin.name.substring(0,10)=="RealPlayer"){
RealMode=1;
}
}
}
//以下代码通过VBScript的CreateObject()函数动态的创建RealPlayer对象
document.write('<SCRIPT LANGUAGE=VBScript/> /n');
document.write('on error resume next /n');
document.write('RealPlayerG2 = (NOT IsNull(CreateObject("rmocx.RealPlayer G2 Control")))/n');
document.write('RealPlayer5 = (NOT IsNull(CreateObject("RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)")))/n');
document.write('RealPlayer4 = (NOT IsNull(CreateObject("RealVideo.RealVideo(tm) ActiveX Control (32-bit)")))/n');
document.write('</SCRIPT/> /n');
if ( RealPlayerG2 || RealPlayer5 || RealPlayer4 ){
//可以在此处添加<object>对象
}else if ( RealMode ){ //NetScape浏览器用户
//可以在此处加入<embed>对象
}else
{
window.location.replace("install.htm"); //转入install.htm页面指导用户进行安装
}
-->
</Script>

四、应用实例
<object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA width=300 height=225>
<param name=src value=../kjsk/img/sp1.rm>
<param name=console value=clip1><param name=controls value=imagewindow>
<param name=autostart value=true>
<embed src="../kjsk/img/sp1.rm" width="300" height="225" autostart="true" console="clip1" controls="imagewindow"></embed>
</object>
<br>
<object classid=clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa height=32 width=300>
<param name=src value=../kjsk/img/sp1.rm>
<param name=controls value=controlpanel>
<param name=console value=clip1>
;
<embed src="../kjsk/img/sp1.rm" width="300" height="32" controls="controlpanel" console="clip1"></embed>
</object>

原创粉丝点击