可以在Web页中使用Media Player
在Web页中嵌入Media Player的方法比较简单,只要用HTML中的<Object></Object>可以了,如下所示。
<OBJECT ID="WMPlay" WIDTH=320 HEIGHT=240
CLASSID="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95"
CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/
nsmp2inf.cab#Version=6,4,5,715"
STANDBY="Loading Microsoft? Windows Media? Player components..."
TYPE="application/x-oleobject">
</OBJECT>
其中ID是对象的名称,当用户在JavaScript要对Media Player进行控制时可以用该对象的名称WMPlay进行访问。CODEBASE指明当用户的浏览器中没有安装Player控件时可以从该URL指定的位置去获取。
当然在建立Player对象时也可以用<PARAM >来为其指定参数。如下所示:
<PARAM NAME="FileName" VALUE="C:ASFRootWelcome.asf">
<PARAM NAME="ShowControls" VALUE="False">
<PARAM NAME="AutoRewind" VALUE="True">
<PARAM NAME="AutoStart" VALUE="False">
其中"FileName"参数表示Media Player要播放的文件活或流。"ShowControls"表示在播放时是否显示控制条。Media Player的参数很多,我们在此不再一一详述。读者如果需要了解更详细的内容可以参考Media Player SDK中的相关部分。
如果用户需要对Media Player进行控制可以用JavaScript进行控制。
在这个例子中,Media Player嵌入在Web页面中,在Media Player右边有一些按钮,利用这些按钮用户可以控制Media Player的播放活动。这些按钮的HTML代码如下:
<form name="myform">
<input type="button" width="15" value="No Controls " name="NoControls"
OnClick="controlType(false)">
<input type="button" width="15" value="All Controls" name="Full"
Onclick="controlType(true)">
<input type="button" width="15" value=" Small " name="Small"
OnClick="displaySize(1)">
<input type="button" value=" Large " name="Large"
Onclick="displaySize(2)">
<input type="button" width="15" value=" Normal " name="Normal"
Onclick="displaySize(0)">
<input type="button" width="15" value=" Play " name="Play"
Onclick="PlayClick()">
<input type="button" width="15" value=" Stop " name="Stop"
Onclick="StopClick()">
</form>
相应的JavaScript代码为:
<script language="javascript">
<!--
var g_Browser = navigator.appName;
function controlType (setting)
{
if (g_Browser == "Netscape")
document.WMPlay.SetShowControls(setting);
else
document.WMPlay.ShowControls = setting;
}
function displaySize (setting)
{
if (g_Browser == "Netscape")
document.WMPlay.SetDisplaySize(setting);
else
document.WMPlay.DisplaySize = setting;
}
function PlayClick ()
{
document.WMPlay.Play();
}
function StopClick ()
{
document.WMPlay.Stop();
if (g_Browser == "Netscape")
document.WMPlay.SetCurrentPosition(0);
else
document.WMPlay.CurrentPosition = 0;
}
function PauseClick ()
{
document.WMPlay.Pause();
}
function PlayPauseClick ()
{
var state;
if (g_Browser == "Netscape")
state = document.WMPlay.GetPlayState();
else
state = document.WMPlay.PlayState;
if (state == 0)
document.WMPlay.Play();
else if (state == 1)
document.WMPlay.Play();
else if (state == 2)
document.WMPlay.Pause();
}
//-->
</script>
从这个例子可以看出当用户单即其中的某个按钮时,它对应的OnClick函数将被调用。在JavaScript函数中,可以直接用WMPlay来控制播放器的活动,比如开始播放,停止播放或占停播放,以及放大缩小等。
除了可以用动作比如鼠标的动作来对嵌入的Media Player进行控制外,还可以利用事件来对其进行控制。Microsoft? Windows Media? Player 支持的事件很多,有普通的鼠标事件,比如鼠标的单击、双击、鼠标的移动、鼠标键的按下与松开等,也有一些是Media Player特有的事件。与流播放有直接关系的事件有:OpenStateChange,PlayStateChange,Buffering,MarkerHit,ScriptCommand等。下面我们对这几个重要的事件做简单地介绍。
1 OpenStateChange 事件
OpenStateChange 事件表示Player的状态已经发生了改变。Media Player的打开状态有:
0 表示流已经关闭(nsClosed)
1 表示正在装入ASX文件(nsLoadingASX)
2 表示正在装入NSC文件(nsLoadingNSC)
3 表示正在寻找Media Server (nsLocating)
4 表示正在与Media Server建立连接(nsConnecting)
5 表示正在打开或侦听流信息(nsOpening)
6 表示流信息已经打开(nsOpen)
用JavaScript处理OpenStateChange事件的格式如下:
<SCRIPT FOR="MediaPlayer" EVENT="OpenStateChange(lOldState, lNewState)"
LANGUAGE="JScript">
//insert script commands//
</SCRIPT>
其中MediaPlayer是在<OBJECT></OBJECT>中定义的Media Player对象时的名字。
2 PlayStateChange 事件
PlayStateChange 事件表示Media Player的播放状态已经改变,Media Player可能的状态有:
0 播放已经停止(mpStopped)
1 播放暂停(mpPaused )
2 正在播放(mpPlaying)
3 正在等待流开始(mpWaiting)
4 向前搜索(mpScanForward)
5 向后搜索(mpScanReverse)
6 向前跳跃(mpSkipForward)
7 向后跳跃(mpSkipReverse)
8 流已经关闭(mpClosed)
用JavaScript处理该事件的方法为:
<SCRIPT FOR="MediaPlayer" EVENT="PlayStateChange(lOldState, lNewState)"
LANGUAGE="JScript">
//insert script commands//
</SCRIPT>
3 Buffering 事件
Buffering事件表示Media Player正在缓冲数据准备播放。在进行流播放之前,Media Player必须要缓冲一定数量的数据之后才开始播放,Buffering事件反映了Player缓冲数据的状况。用JavaScript处理Buffering事件的方法为:
<SCRIPT FOR="MediaPlayer" EVENT="Buffering(bStart)" LANGUAGE="JScript">
//insert script commands//
</SCRIPT>
其中bStart为一个布尔变量,当它为TRUE时表示缓冲正在进行,反之表示缓冲已经结束。
4 ScriptCommand 事件
ScriptCommand事件表示Media Player接收到了Script 命令,这时用户可以利用对接收到Script命令进行分析以决定采取相应的处理。我们知道利用Media Tools的ASF Indexer工具可以给流添加Script命令,当流播放器Player接收到这些Script 命令时会激活这个事件处理方法,于是用户可以在事件处理方法中对Script命令进行处理。处理ScriptCommand的方法是:
<SCRIPT FOR="MediaPlayer" EVENT="ScriptCommand(sType, sParam)"
LANGUAGE="JScript">
//insert script commands//
</SCRIPT>
其中sType是Script命令的类型,Script命令的类型有URL,TEXT,EVENT等,用户可以根据Script命令类型的不同做不同的处理。比如,如果是URL命令,我们可以在指定的帧内打开sParam中指定的页面。
5 MarkHit 事件
MarkerHit事件同ScritpCommand事件一样,当媒体播放器在ASF流中遇到标记时会激活该事件,用户利用该事件可以知道当前的标记是第几个标记。MarkerHit事件的处理方法是:
<SCRIPT FOR="MediaPlayer" EVENT="MarkerHit(lMarkerNum)" LANGUAGE="JScript">
//insert script commands//
</SCRIPT>
当然,除了支持事件处理之外,做为一个ActiveX对象,Media Player还有很多的属性(Property)和方法(Method)可以供Web页使用。比如用MediaPlayer.MarkerCount 属性可以知道在ASF流中到底有多少个标记;利用MediaPlayer. CurrentPosition属性可以知道当前播放位置的时间等等。至于Media Player对象的方法我们在前面已经使用了很多,比如Play(), Pause()等均是Media Player的方法。由于Media Player对象的属性和方法太多,我们不可能在此一一介绍,而只是对几个较为重要的事件处理做了一定的介绍。用户在使用时可以参考Media Player SDK的帮助文档以获取更多的信息。
本文对Media Service的客户应用程序Media Player的使用,特别是在Web页中的使用做了简单的介绍。作为一个通用的媒体播放器,它还有很多的功能这里没有介绍,要了解一个软件的功能,最好的方法就是使用它。用户如果感兴趣可以从http://www.windowsmedia.com/上去免费下载。
相关推荐
高德地图 搜索和点击定位
高德地图vue
移动程序播放声音文件
移动程序播放声音这是一个cs类 using System;using System.Runtime.InteropServices;namespace _Example{ /// /// PlaySound 的摘要说明。 /// public class PlaySound { public PlaySound() { } internal class Helpers {
水文预报新手别怕!用Matlab 18小时搞定马斯京根法参数K和x(附完整代码)
本文详细介绍了如何使用Matlab在18小时内快速掌握水文预报中的马斯京根法参数K和x的求解方法。通过完整的代码示例和分步解析,帮助新手从理论到实践快速跨越,解决传统手工试算耗时耗力的问题,提升水文预报的效率和精度。
在网页上播放声音文件的方式
1.使用dhtml标记。 1 2 3 实现通过下拉框选择不同的音乐来播放中的loop如果设置为-1表示循环播放无穷大次。2.使用嵌入播放器来播放codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,
Delft3D从入门到实践:安装、编译与首次模拟指南
本文为Delft3D初学者提供了一份详尽的从零开始指南。内容涵盖软件获取、许可证申请、图形界面安装、核心计算内核的编译环境搭建与编译步骤,以及最终整合运行首个水动力模拟的全流程。重点解决了Windows系统下Delft3D安装与编译的常见问题,帮助用户快速上手这一开源水动力与泥沙输运模拟工具。
Score Matching实战:如何用Python实现数据分布梯度估计(附完整代码)
本文详细介绍了Score Matching技术在数据分布梯度估计中的应用,通过Python实现从基础概念到核心算法的完整流程。文章包含环境准备、网络架构设计、加噪版本实现以及训练流程,帮助开发者快速掌握这一绕过密度估计直接学习得分函数的创新方法。附带的完整代码和可视化分析使理论与实践紧密结合。
[转]在网页中加入声音文件,并且用JavaScript对其进行播放控制
@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" validateRequest="false"%>DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/
直流无刷电机FOC控制算法 理论到实践 —— 理论(二)
在上一章节,我们对于FOC大体有了一个介绍,本博文将详细描述有关Clark变化、Park变化、反Park变化以及SVPWM的理论实现原理,也即相关数学运算实现。
android开发播放声音文件
android开发播放声音文件 MediaPlayer mediaPlayer01; mediaPlayer01 = MediaPlayer.create(YouActivity.this, R.raw.xxxx); mediaPlayer01.start(); 网上有很多介绍mp播放声音文件的几种方式就是: 1.用R.raw.x来播放raw目录下的文件, 2.用se
YOLO126优化:损失篇 | AAAI 2025 | 一种基于尺度的动态(SD)损失,根据目标大小动态调整尺度和位置损失的影响,提高了网络检测不同尺度目标的能力
提出了一种基于尺度的动态(SD)损失,它根据目标大小动态调整尺度和位置损失的影响,提高了网络检测不同尺度目标的能力。
手把手教你完成YOLOv8分类识别界面搭建,使用Qt6设计YOLOv8分类识别系统,前台系统+后台管理系统开发实战,全网最详细教程
本项目基于YOLOv8分类模型,结合PySide6框架开发了一套图形化分类识别系统,支持图片、视频和摄像头实时检测。系统包含以下功能: 分类识别模块:完成图像/视频目标分类,界面展示检测结果。 用户管理模块:支持登录注册、头像修改、密码重置等功能。 AI问答模块:集成DeepSeek大模型接口,实现流式输出对话。 后台管理系统(第二版新增):管理员可管理用户信息及个人中心。 系统采用MySQL数据库存储用户数据,并提供完整的UI界面与交互逻辑。代码已开源,适用于毕业设计或快速部署场景。
信息技术必修丨网络文件扩展名与文件储存格式
在初学信息技术的小伙伴们来说,文件扩展名的各类名称可谓是五花八门,开始大多是傻乎乎无法区分什么它们的类别;例如:文件扩展名带有<u>==WMA==</u>、<u>==WMV==</u>、<u>==RA==</u>、<u>==RM==</u>你能辨认出那些是音频那些是视频文件吗???
SAP ABAP 四种传统的数据库视图类型介绍之二:Projection View
一是该 projection view 只暴露了底层 TADIR 表的四个字段,因此通过该 view 维护数据,在维护界面我们只能维护一条记录的四个字段,如下图所示。使用 Projection view 的优点在于其设计灵活性:如果系统中原始的数据库表字段较多,通过投影仅保留关键信息可有效降低从数据库层到应用层之间的数据传输负担,且保持数据的一致性。其二是笔者之前的文章提到,TADIR 是 ABAP 系统重要的对象注册表,如同 window 操作系统的注册表一样,一般的应用开发人员不应该去修改其内容。
vb.net2005中声音文件的播放方法小结
1my.Computer.Audio.Play()支持不同的模式AudioPlayMode.Background 在后台播放声音。调用代码继续执行。AudioPlayMode.BackgroundLoop在后台播放声音,直到调用 My.Computer.Audio.Stop 方法。调用代码继续执行。AudioPlayMode.WaitToComplete播放声音并等待播放完毕,然后再继续执行调
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
ADPCM与PCM的区别 以及wave文件的压缩与解压缩
http://blog.youkuaiyun.com/kindyb/archive/2005/10/13/503024.aspx 一、概述: 本文叙述了如何通过IMA-ADPCM压缩和解压缩算法来完成从IMA-ADPCM文件转换为PCM文件的过程。主要包括的内容有:PCM和IMA-ADPCM WAVE文件内部结构的介绍,IMA-ADPCM压缩与解压缩算法,以及如何生成特有的音频压缩格式文件等三
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
WPF中播放声音媒体文件
转自: http://blog.youkuaiyun.com/emily1900/article/details/6077668
详解wave头格式(尽可能详细并附代码)
参考网址一:http://blog.youkuaiyun.com/sshcx/archive/2007/05/01/1593923.aspx 参考网址二:http://apps.hi.baidu.com/share/detail/15909594 WAVE 文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英 文Resource Interchange File For...
使用DirectX播放wav声音文件
1. 使用 DirectX ,主要用到 MicroSoft.DirectX.dll 和 Microsoft.Directx.DirectSound.dll。 a. 可以下载安装DirectX,下载地址https://www.microsoft.com/en-us/download/details.aspx?id=6812 然后添加引用MicroS
在网页中加入声音文件,并且用JavaScript对其进行播放控制
@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" validateRequest="false"%>DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/T
Winform_播放声音文件
1、调用非托管的dll [csharp]view plaincopy usingSystem.Runtime.InteropServices;//DllImport命名空间的引用 classtest//提示音 { [DllImport("winmm.dll")] publics...
C#播放声音的两个方法 + 流读写文件
第一种方法: 利用API播放声音文件 using System.Runtime.InteropServices; 在调用API时先引用 [DllImport("winmm")]public static extern bool PlaySound(string szSound, IntPtr hMod, int i); //声明API:Pl...
ASP.NET 常用MIME 文件名称
超文本标记语言:html、html text/html 纯文本 :txt text/plain GIF图像 :gif image/gif JPEG图片:jpeg,.jpg image/jpeg au声音文件 :au audio/basic MIDI音乐文件:id、midi audio/midi、audio/x-midi、ra、ram audio/x-pn-realaudio MPEG文件:mpg,...
[irving] C# Windows Beep 调用声音文件
方法一:Console.Beep(); 方法二:可以用Console.WriteLine("/a");来代替Beep()。 MSDN:http://msdn.microsoft.com/zh-cn/library/System.Console.Beep(v=vs.110).aspx 转载于:https://www.cnblogs.com/teamate/p/3732534.h...
Linux环境下用c语言写的播放wav文件的小程序
http://blog.youkuaiyun.com/noah1987/archive/2008/10/21/3118934.aspx本程序可以读取.wav文件,然后进行播放。使用前,请确认您是否安装音频驱动。确认方法:cat /etc/sndstat,如果显示无此设备,则没有安装驱动。安装驱动很简单,到oss.com上下载音频驱动,然后按照网上的教程进行就可以了。源代码如下:
Windows10/11显示文件扩展名 修改文件后缀名教程
写这篇文章的原因是由于我分享的教程中的文件、安装包基本都是存在阿里云盘的,下载后需要改后缀名才能使用。但是好多同学不会改。。
1943



被折叠的 条评论
为什么被折叠?



