成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

當(dāng)前位置:首頁>>軟件教程>>新聞內(nèi)容  
在Web頁中使用Media Player
作者:佚名 發(fā)布時間:2003-12-5 11:11:59 | 【字體:

在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是對象的名稱,當(dāng)用戶在JavaScript要對Media Player進行控制時可以用該對象的名稱WMPlay進行訪問。CODEBASE指明當(dāng)用戶的瀏覽器中沒有安裝Player控件時可以從該URL指定的位置去獲取。
當(dāng)然在建立Player對象時也可以用<PARAM >來為其指定參數(shù)。如下所示:

<PARAM NAME="FileName" VALUE="C:ASFRootWelcome.asf">
<PARAM NAME="ShowControls" VALUE="False">
<PARAM NAME="AutoRewind" VALUE="True">
<PARAM NAME="AutoStart" VALUE="False">


其中"FileName"參數(shù)表示Media Player要播放的文件活或流。"ShowControls"表示在播放時是否顯示控制條。Media Player的參數(shù)很多,我們在此不再一一詳述。讀者如果需要了解更詳細的內(nèi)容可以參考Media Player SDK中的相關(guān)部分。
如果用戶需要對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>


相應(yīng)的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>


從這個例子可以看出當(dāng)用戶單即其中的某個按鈕時,它對應(yīng)的OnClick函數(shù)將被調(diào)用。在JavaScript函數(shù)中,可以直接用WMPlay來控制播放器的活動,比如開始播放,停止播放或占停播放,以及放大縮小等。
除了可以用動作比如鼠標(biāo)的動作來對嵌入的Media Player進行控制外,還可以利用事件來對其進行控制。Microsoft? Windows Media? Player 支持的事件很多,有普通的鼠標(biāo)事件,比如鼠標(biāo)的單擊、雙擊、鼠標(biāo)的移動、鼠標(biāo)鍵的按下與松開等,也有一些是Media Player特有的事件。與流播放有直接關(guān)系的事件有:OpenStateChange,PlayStateChange,Buffering,MarkerHit,ScriptCommand等。下面我們對這幾個重要的事件做簡單地介紹。

1 OpenStateChange 事件
OpenStateChange 事件表示Player的狀態(tài)已經(jīng)發(fā)生了改變。Media Player的打開狀態(tài)有:
0 表示流已經(jīng)關(guān)閉(nsClosed)
1 表示正在裝入ASX文件(nsLoadingASX)
2 表示正在裝入NSC文件(nsLoadingNSC)
3 表示正在尋找Media Server (nsLocating)
4 表示正在與Media Server建立連接(nsConnecting)
5 表示正在打開或偵聽流信息(nsOpening)
6 表示流信息已經(jīng)打開(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的播放狀態(tài)已經(jīng)改變,Media Player可能的狀態(tài)有:
0 播放已經(jīng)停止(mpStopped)
1 播放暫停(mpPaused )
2 正在播放(mpPlaying)
3 正在等待流開始(mpWaiting)
4 向前搜索(mpScanForward)
5 向后搜索(mpScanReverse)
6 向前跳躍(mpSkipForward)
7 向后跳躍(mpSkipReverse)
8 流已經(jīng)關(guān)閉(mpClosed)
用JavaScript處理該事件的方法為:

<SCRIPT FOR="MediaPlayer" EVENT="PlayStateChange(lOldState, lNewState)"
LANGUAGE="JScript">
//insert script commands//
</SCRIPT>


3 Buffering 事件
Buffering事件表示Media Player正在緩沖數(shù)據(jù)準(zhǔn)備播放。在進行流播放之前,Media Player必須要緩沖一定數(shù)量的數(shù)據(jù)之后才開始播放,Buffering事件反映了Player緩沖數(shù)據(jù)的狀況。用JavaScript處理Buffering事件的方法為:

<SCRIPT FOR="MediaPlayer" EVENT="Buffering(bStart)" LANGUAGE="JScript">
//insert script commands//
</SCRIPT>


其中bStart為一個布爾變量,當(dāng)它為TRUE時表示緩沖正在進行,反之表示緩沖已經(jīng)結(jié)束。

4 ScriptCommand 事件
ScriptCommand事件表示Media Player接收到了Script 命令,這時用戶可以利用對接收到Script命令進行分析以決定采取相應(yīng)的處理。我們知道利用Media Tools的ASF Indexer工具可以給流添加Script命令,當(dāng)流播放器Player接收到這些Script 命令時會激活這個事件處理方法,于是用戶可以在事件處理方法中對Script命令進行處理。處理ScriptCommand的方法是:

<SCRIPT FOR="MediaPlayer" EVENT="ScriptCommand(sType, sParam)"
LANGUAGE="JScript">
//insert script commands//
</SCRIPT>


其中sType是Script命令的類型,Script命令的類型有URL,TEXT,EVENT等,用戶可以根據(jù)Script命令類型的不同做不同的處理。比如,如果是URL命令,我們可以在指定的幀內(nèi)打開sParam中指定的頁面。

5 MarkHit 事件
MarkerHit事件同ScritpCommand事件一樣,當(dāng)媒體播放器在ASF流中遇到標(biāo)記時會激活該事件,用戶利用該事件可以知道當(dāng)前的標(biāo)記是第幾個標(biāo)記。MarkerHit事件的處理方法是:

<SCRIPT FOR="MediaPlayer" EVENT="MarkerHit(lMarkerNum)" LANGUAGE="JScript">
//insert script commands//
</SCRIPT>


當(dāng)然,除了支持事件處理之外,做為一個ActiveX對象,Media Player還有很多的屬性(Property)和方法(Method)可以供Web頁使用。比如用MediaPlayer.MarkerCount 屬性可以知道在ASF流中到底有多少個標(biāo)記;利用MediaPlayer. CurrentPosition屬性可以知道當(dāng)前播放位置的時間等等。至于Media Player對象的方法我們在前面已經(jīng)使用了很多,比如Play(), Pause()等均是Media Player的方法。由于Media Player對象的屬性和方法太多,我們不可能在此一一介紹,而只是對幾個較為重要的事件處理做了一定的介紹。用戶在使用時可以參考Media Player SDK的幫助文檔以獲取更多的信息。
本文對Media Service的客戶應(yīng)用程序Media Player的使用,特別是在Web頁中的使用做了簡單的介紹。作為一個通用的媒體播放器,它還有很多的功能這里沒有介紹,要了解一個軟件的功能,最好的方法就是使用它。用戶如果感興趣可以從www.windowsmedia.com上去免費下載。

英文資料看這里
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmplay/mmp_sdk/controlreference.asp 

注意:使用上面代碼需要將全角<>符號替換成半角<>才能正常使用。


文章來源:轉(zhuǎn)載
·[圖]用Windows Media Player 9制作歌詞
 放生
 愚愛
 夠愛
 觸電
 白狐
 葬愛
 光榮
 畫心
 火花
 稻香
 小酒窩
 下雨天
 右手邊
 安靜了
 魔杰座
 你不像她
 邊做邊愛
 擦肩而過
 我的答鈴
 懷念過去
 等一分鐘
 放手去愛
 冰河時代
 你的承諾
 自由飛翔
 原諒我一次
 吻的太逼真
 左眼皮跳跳
 做你的愛人
 一定要愛你
 飛向別人的床
 愛上別人的人
 感動天感動地
 心在跳情在燒
 玫瑰花的葬禮
 有沒有人告訴你
 即使知道要見面
 愛上你是一個錯
 最后一次的溫柔
 愛上你是我的錯
 怎么會狠心傷害我
 不是因為寂寞才想
 親愛的那不是愛情
 難道愛一個人有錯
 寂寞的時候說愛我
主站蜘蛛池模板: 平远县| 清徐县| 谷城县| 香港 | 济南市| 翼城县| 昆明市| 韩城市| 长丰县| 五指山市| 正镶白旗| 通许县| 林口县| 区。| 富源县| 卢氏县| 哈巴河县| 双牌县| 太原市| 嘉鱼县| 商南县| 建湖县| 阿拉尔市| 寿光市| 沙洋县| 五指山市| 宁强县| 固阳县| 广饶县| 枝江市| 冕宁县| 道孚县| 宁德市| 武宣县| 连江县| 通化县| 石城县| 美姑县| 沁水县| 宁南县| 虹口区|