可以在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/上去免费下载。
相关推荐
NIDS——suricata(一)
NIDS——suricata环境安装和规则编写
移动程序播放声音文件
移动程序播放声音这是一个cs类 using System;using System.Runtime.InteropServices;namespace _Example{ /// /// PlaySound 的摘要说明。 /// public class PlaySound { public PlaySound() { } internal class Helpers {
winedt + miktex + SumatraPDF 搭建latex环境
整个环境包含三部分: - winedt: 前端编辑器 - miktex: 后端编译器 - SumatraPDF: 预览器顺序无关紧要, 不过如果先装miktex的话, 可能会被winedt在安装的时候自动找到路径从而不需要设置.1.安装miktex首先在latex-project官网, 打开”get”后, 有四种平台: Linux, Mac OS, Windows, Online. 我写论文
在网页上播放声音文件的方式
1.使用dhtml标记。 1 2 3 实现通过下拉框选择不同的音乐来播放中的loop如果设置为-1表示循环播放无穷大次。2.使用嵌入播放器来播放codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,
从选型到阵列:基于ESP32-S3的智能硬件麦克风系统设计实战
本文详细介绍了基于ESP32-S3芯片设计智能硬件麦克风阵列的完整实战方案。从核心芯片选型、数字MEMS麦克风的参数解读与电路设计,到关键的声学结构密封、阵列布局策略,再到利用ESP-ADF框架构建音频处理流水线并集成回声消除、噪声抑制等算法,提供了从硬件到软件的全链路设计指南与避坑要点,旨在实现清晰、稳定的远场语音交互。
从Mule ESB到Apache Camel:手把手教你设计一个轻量级企业集成框架的‘心脏’
本文深入探讨了从Mule ESB到Apache Camel的轻量级企业集成框架设计实践,对比了两者在协议支持、消息处理能力和部署灵活性等方面的差异。通过实际代码示例和性能优化技巧,帮助开发者构建高效的核心模块,适用于现代微服务架构下的系统集成需求。
[转]在网页中加入声音文件,并且用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/
SAP-PP MD04详解一
MD04是SAP运行MRP后的结果查询事务码,其他功能强大,标准功能比如:查询/更改物料主数据、转换计划订单到生产订单/采购申请、查询/更改各个MRP元素对应的单据等等。而且还可以附加标准的菜单或者自定义添加事务码上去。老铁将做一个MD04详细说明系列,本篇为第一篇之MRP元素说明。 我们来看看MD04基本界面 可以看到主要的数据显示界面,有日期、MRP元素、MRP元素数据、再计划日期、收货/需求、可用数量、工厂、库存地点等栏位。光标定位到MRP元素列,按F1即可看到各类MRP元素的说...
android开发播放声音文件
android开发播放声音文件 MediaPlayer mediaPlayer01; mediaPlayer01 = MediaPlayer.create(YouActivity.this, R.raw.xxxx); mediaPlayer01.start(); 网上有很多介绍mp播放声音文件的几种方式就是: 1.用R.raw.x来播放raw目录下的文件, 2.用se
012、乘累加单元(MAC):NPU中最基本的计算单元
本文深入剖析了神经网络处理器(NPU)中的核心计算单元——乘累加单元(MAC)。作者通过实际调试案例揭示了MAC单元设计中的关键问题:定点数格式对齐、累加器位宽陷阱、流水线优化和多MAC同步方案。重点讨论了INT8量化中的边界条件处理、偏置项截断风险以及零值检测等实战经验,并提供了三点实用建议:建立精确的C模型、参考RISC-V P扩展指令集、仔细审查芯片规格书。文章强调硬件加速的实际瓶颈往往在于数据搬运而非计算单元本身,为NPU开发者提供了宝贵的工程实践参考。
【Codex】Codex安装+DeepSeek API接入;无需登录,手把手带你使用codex
好多人使用codex时都卡在验证码登录那一步,今天就来介绍一种方法,不需要登录ChatGPT的账号,自然也就不需要手机验证码了;接入DeepSeek的api,一样可以丝滑使用codex;记录从零开始安装使用codex以及DeepSeek API接入的整个过程。不需要登录openAI;
信息技术必修丨网络文件扩展名与文件储存格式
在初学信息技术的小伙伴们来说,文件扩展名的各类名称可谓是五花八门,开始大多是傻乎乎无法区分什么它们的类别;例如:文件扩展名带有<u>==WMA==</u>、<u>==WMV==</u>、<u>==RA==</u>、<u>==RM==</u>你能辨认出那些是音频那些是视频文件吗???
SMOKE 3D:从 Python 到 C++ 实现车辆与行人单目 3D 视觉识别在 RK3588 上的深度部署
SMOKE的网络结构通常基于高性能的骨干网络(如DLA-34,您使用的模型就是基于此),通过编码器-解码器架构来提取特征。输入:RGB图像(本项目为骨干网络:用于特征提取。检测头热力图分支:预测关键点热力图。通常在热力图上进行NMS来找到局部最大值,即潜在的关键点位置。回归分支:对于每个关键点位置,预测上述的8维3D属性向量。分类分支:预测每个关键点对应的物体类别。置信度分支:预测每个关键点的置信度。本教程详细介绍了SMOKE单目3D目标检测模型在RK3588上的部署。我们从SMOKE的。
vb.net2005中声音文件的播放方法小结
1my.Computer.Audio.Play()支持不同的模式AudioPlayMode.Background 在后台播放声音。调用代码继续执行。AudioPlayMode.BackgroundLoop在后台播放声音,直到调用 My.Computer.Audio.Stop 方法。调用代码继续执行。AudioPlayMode.WaitToComplete播放声音并等待播放完毕,然后再继续执行调
Outlook Express 6 (OE6) for Win7/Win8/Win10
英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
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压缩与解压缩算法,以及如何生成特有的音频压缩格式文件等三
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
WPF中播放声音媒体文件
转自: http://blog.youkuaiyun.com/emily1900/article/details/6077668
IMSL CNL 7.0.0 (x86-64)Crack
IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件
详解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显示文件扩展名 修改文件后缀名教程
写这篇文章的原因是由于我分享的教程中的文件、安装包基本都是存在阿里云盘的,下载后需要改后缀名才能使用。但是好多同学不会改。。
1273



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



