ActiveMovie属性说明,使用资料。
控件本身雖然是微軟作的但還是覺得有些不足,有些接口提供的不夠友好,用起來要自己建立函數(shù),有些在較低版本的MSDN中都查不到,很麻煩啊。
正文:
實現(xiàn)該控件的注冊
在VC里沒有ActiveMovieControl Object這個控件
"開始"->"運行"->"輸入regsvr32 msdxm.ocx"->"確定"
會彈出一個對話框說成功的!! 注冊成功,
進(jìn)入VC Project->Add To Project->Components And Controls.點擊打開出現(xiàn)的Components And Controls Gallery文件,選擇其中的ActiveMovie Control Object,單擊Insert
就可以在VC控件選擇欄里看到該控件的圖標(biāo)了!
ActiveMovie控件是微軟公司推出的用于多媒體程序設(shè)計的控件,它提供了非常完善的音頻和視頻媒體文件的回放功能,能支持多種文件格式,從最常見的WAV文件和AVI文件到使用MPEG壓縮格式的VCD視頻文件,都可以正常的進(jìn)行播放。控件能根據(jù)文件后綴進(jìn)行自動判別設(shè)備類型,并完成相應(yīng)的控制。因此,若正在編寫的應(yīng)用程序需要提供多媒體支持,那么使用ActiveMovie控件是一個很好的主意。事實上,很多優(yōu)秀的多媒體應(yīng)用程序,其內(nèi)部的多媒體回放就是利用ActiveMovie控件來實現(xiàn)。只要精心地設(shè)計應(yīng)用程序的用戶界面,我們一樣可以開發(fā)出功能齊全、外觀漂亮、具有相當(dāng)水準(zhǔn)的多媒體播放器。而且,在Windows 95/98和Windows NT的最新版本中,ActiveMovie控件已作為操作系統(tǒng)的一部分來提供,即使用戶系統(tǒng)中沒有安裝ActiveMovie控件,Microsoft的許可協(xié)議也允許在你的應(yīng)用程序的發(fā)行包中發(fā)布ActiveMovie的運行時文件。
本文將首先介紹ActiveMovie控件一些特有的屬性、方法和事件,然后使用該控件開發(fā)一個具有一定功能的多媒體播放器,最后結(jié)合本例談一談使用ActiveMovie控件進(jìn)行多媒體開發(fā)時需要注意的幾個問題。
一、ActiveMovie控件特有的屬性、方法和事件
ActiveMovie控件的特有屬性及相關(guān)描述見表1。其它各控件常有的屬性如BorderStyle、
DisplayForeColor、hWnd等,該控件也支持。
ActiveMovie控件特有的屬性表 表1
屬性 說明
CurrentState 指示控件的狀態(tài):stopped、paused、running
DisplayMode 顯示模式,即以時間方式還是幀方式
FileName 指定該控件要操作的源文件完整名字
Rate 指示媒體流的回放率
ReadyState 指示控件狀態(tài),是否已經(jīng)裝入源文件
SelectionEnd 指示播放媒體流的結(jié)束位置
SelectionStart 指示播放媒體流的開始位置
CurrentPosition 指示播放媒體流的當(dāng)前位置
Volume 設(shè)置音量
ActiveMovie控件常用方法有RUN、STOP、PAUSE三個,分別控制媒體流的播放、停止和暫停。使用時直接調(diào)用它們即可。其它通用方法如Drag 、Move、SetFocus等,該控件也支持。
ActiveMovie控件的特有事件及相關(guān)描述見表2。
ActiveMovie控件特有的事件表 表2
事件 說明
DisplayModeChange 當(dāng)DisplayMode屬性值發(fā)生變化時觸發(fā)
OpenComplete 當(dāng)源文件完全載入時觸發(fā)
PositionChange 當(dāng)媒體流的當(dāng)前位置改變時觸發(fā)
ReadyStateChange 當(dāng)控件的ReadyState屬性值改變時觸發(fā)
StateChange 當(dāng)播放器的狀態(tài)改變時觸發(fā)
Error 處理控件的出錯事件
1.Active movie control object 的功能
Authorware作為強大的多媒體著作工具,支持主流的媒體格式,通過調(diào)用ActiveMovie控件還可以支持更多的媒體類型。ActiveMovie控件支持MIDI文件(*.mid、*.rmi、*.midi)、QuickTime文件(*.mov、*.qt)、Winodws Media(*.asf、*.wm、*.wma)、電影文件(MPEG)(*.mpeg、*.mpg、*.m1v、*.mpe、 *.mpv)、媒體播放列表(*.asx、*.wax、*.m3u)、視頻文件(*.avi、*.wmv)、音頻文件(*.wav、*.and、*.au、*.aif、*.mp2、*.mp3、*.mpa)等(在系統(tǒng)中所安裝的Windows Media Player的版本不同,所支持的格式有所不同)。
2.Active movie control object的常用屬性
"AllowChangeDisplaySize"--運行時是否允許改變顯示大小。默認(rèn)為TRUE。
"CurrentPosition"--當(dāng)前的播放位置。默認(rèn)值為-1。
"DisplayMode"--設(shè)置播放時的顯示模式,可選值為"0-Time"--顯示時間、"1-Frames"--顯示幀。默認(rèn)為"0-Time"。
"DisplaySize"--設(shè)置播放時的顯示大小,可選值有"0-0-Default Size"--默認(rèn)大小、"1-1-Half Size"--正常大小的一半、"2-2-Double Size"--正常大小的雙倍、"3-3-FullScreen"--全屏、"4-4-Fit to Size"--適當(dāng)大小、"5-5-One Sixteenth Screen"--1/16屏幕大小、"6-6-One Fourth Screen"--1/4屏幕大小、"7-7 One Half Screen"--1/2屏幕大小。默認(rèn)為"0-0-Default Size"。
"EnableContextMenu"--在畫面中按右鍵時,是否允許出現(xiàn)控制菜單。默認(rèn)為TRUE。
"Enabled"--設(shè)置控件是否有用。默認(rèn)為TRUE。
"Filename"--設(shè)置播放的文件名。
"EnableFullScreenControls"--設(shè)置是否有全屏控制。默認(rèn)為FALSE。
"PlayCount"--設(shè)置播放次數(shù)。默認(rèn)值為1。
"PlayState"--播放狀態(tài),其值隨控件中的文件播放情況而變,可能是"0-Playback is stopped"--播放已停止、"1-Playback is paused"--播放被暫停、"2-Stream is playing"--數(shù)據(jù)流正在播放、"3-Wait for stream to begin"--等待數(shù)據(jù)流開始、"4-Stream is scanning forward"--正在向前搜索、"5- Stream is scanning in reverse"--正在向后搜索、"6-Stream has not been Opened"--還未打開。
"Rate"--設(shè)置播放時的速率,為1時是正常播放,大于1時是快進(jìn)。
"ReadyState"--準(zhǔn)備狀態(tài),其值隨控件中的文件播放情況而變,可能是"0-0-Uninitialized"--未初始化、"1-1-Loading"--正在載入、"3-3-Interactive"--正在連接、"4-4-Complete"--已完成。
"SelectionEnd"--設(shè)置播放的結(jié)束位置。默認(rèn)值為-1,即播放到結(jié)尾。
"SelectionStart"--設(shè)置播放的開始位置。默認(rèn)值為-1,即從頭播放。
"ShowControls"--是否顯示控制面板。默認(rèn)為TRUE。
"ShowDisplay"--是否顯示顯示面板。默認(rèn)為FALSE。
"ShowPositionControls"--在控制面板中是否顯示位置按鈕。默認(rèn)為TRUE。
"ShowTracker"--在控制面板中是否顯示音軌欄。默認(rèn)為FALSE。
"Volume"--設(shè)置音量。默認(rèn)值為-320。
3.Active movie control object的常用方法
"FastForward"--快進(jìn)
"FastReverse"--快退
"Next"--下一個
"Pause"--暫停
"Play"--播放
"Previous"--前一個
"Stop"--停止
4.Active movie control object的常用事件
"EndofStream"--當(dāng)播放結(jié)束時產(chǎn)生此事件
"PlayStateChange"--當(dāng)播放狀態(tài)改變時產(chǎn)生此事件
"PositionChange"--當(dāng)播放位置改變時產(chǎn)生此事件
?
ActiveMovie控件用于播放視頻。常用屬性表
屬性:(Name)
說明:ActiveMovie控件的名稱
屬性:自定義
說明:打開屬性頁
屬性:AllowChangeDisplayMode
說明:在運行中允許/不允許改變顯示方式。取值為:
True
False
屬性:AllowHideControls
說明:在運行中允許/不允許隱匿控制面板。取值為:
True
False
屬性:AllowHideDisplay
說明:在運行中允許/不允許隱匿顯示面板。取值為:
True
False
屬性:Appearance
說明:是否用立體效果繪制。取值為:
0 amv(平面)
1 amv3D(立體)
屬性:AutoRewind
說明:媒體播放完后是否自定重放。取值為:
True
False
屬性:AutoStart
說明:在打開媒體文件后是否自定播放。取值為:
True
False
屬性:Balance
說明:獲得或設(shè)置多媒體立體聲的平衡
屬性:BorderStyle
說明:設(shè)置邊界樣式。取值為:
0 amvNone(無邊界線)
1 amvFixedSingle(固定單線框)
屬性:Causidation
說明:該控件獲得焦點時,第二個控件的Validate事件是否發(fā)生。取值為:
True 發(fā)生
False 不發(fā)生
屬性:DisplayBackColor
說明:顯示面板背景顏色。可從彈出的調(diào)色板選擇。
屬性:DisplayForeColor
說明:顯示面板前景顏色。可從彈出的調(diào)色板選擇。
屬性:DisplayMode
說明:獲得或設(shè)置顯示方式(時間或結(jié)構(gòu))。取值為:
0 amvTime(時間)
1 amvFrames(結(jié)構(gòu))
屬性:DragIcon
說明:該對象在拖動過程中鼠標(biāo)的圖標(biāo)
屬性:DragMode
說明:該對象的拖動模式。取值為:
0 vbManual(手動)
1 vbAutomatic(自動)
屬性:EnableContextMenu
說明:單擊右鍵是否顯示上下文菜單。取值為:
True
False
屬性:Enabled
說明:用于設(shè)定是或?qū)κ录a(chǎn)生響應(yīng)。取值為:
True 可用
False 不可用。在執(zhí)行程序時,該對象用灰色顯示,并且不響應(yīng)任何事件
屬性:EnablePositionControls
說明:在控制面板是否顯示位置按鈕。取值為:
True
False
屬性:EnableSelectiontionControls
說明:在控制面板是否顯示選擇按鈕。取值為:
True
False
屬性:EnableTracker
說明:在控制面板是否顯示跟蹤條。取值為:
True
False
屬性:FileName
說明:獲得或設(shè)置當(dāng)前的多媒體文件
屬性:FullScreenMode
說明:是否全屏幕顯示。取值為:
True
False
屬性:Height
說明:ActiveMoviel控件的高度
屬性:HelpContextID
說明:指定一個對象的缺省幫助文件上下文標(biāo)識符
屬性:Index
說明:在對象數(shù)組中的編號
屬性:Left
說明:距離容器左邊框的距離
屬性:MovieWindowSize
說明:獲得或設(shè)置電影窗口尺寸。取值為:
0 amvOriginalSize
1 amvadaoubleaoariginaSize
2 amvOneSixteenthSreen
3 amvOneFourthScreen
4 amvOneHalfScreen
屬性:PlayCount
說明:獲得或設(shè)置電影播放時間的數(shù)目
屬性:Rate
說明:獲得或設(shè)置多媒體的比率
屬性:SelectionEnd
說明:獲得或設(shè)置在什么位置停止播放
屬性:SelectionStart
說明:獲得或設(shè)置在什么位置開始播放
屬性:ShowControls
說明:顯示/隱藏控制面板。取值為:
True
False
屬性:ShowDisplay
說明:顯示/隱藏顯示面板。取值為:
True
False
屬性:ShowPositionControls
說明:顯示/隱藏在控制面板位置按鈕。取值為:
True
False
屬性:ShowSelectiontionControls
說明:顯示/隱藏在控制面板選擇按鈕。取值為:
True
False
屬性:ShowTracker
說明:顯示/隱藏在控制面板跟蹤條。取值為:
True
False
屬性:TabIndex
說明:獲得或設(shè)置此對象在父窗體的編號(父窗體中對象響應(yīng)Tab鍵的順序)
屬性:TabStop
說明:設(shè)置是否可以用"Tab"鍵選取此對象。取值為:
True 可以
False 不可以
屬性:Tag
說明:存儲程序所需的附加數(shù)據(jù)
屬性:ToolTipText
說明:設(shè)置該對象的提示行
屬性:Top
說明:距容器頂部邊界的距離
屬性:Visible
說明:設(shè)置此對象的可見性。取值為:
True 該對象可見
False 該對象不可見
屬性:Volume
說明:獲得或設(shè)置多媒體音量
屬性:WhatsThisHelpID
說明:獲得或設(shè)置與對象相關(guān)聯(lián)的上下文號
屬性:Width
說明:設(shè)置該對象的寬度
GetCurrentPosition()//播放位置
、ACTIVEMOVIE CONTROL OBJECT的常用屬性
1、播放文件的函數(shù):
void CActiveMovie3::Run()
{
InvokeHelper(0x60020001, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
2、暫停播放的函數(shù):
void CActiveMovie3::Pause()
{
InvokeHelper(0x60020002, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
4、停止播放的函數(shù):
void CActiveMovie3::Stop()
{
InvokeHelper(0x60020003, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
5、獲得文件的函數(shù):
CString CActiveMovie3::GetFileName()
{
CString result;
InvokeHelper(0xb, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
return result;
}
6、設(shè)置文件的函數(shù):
void CActiveMovie3::SetFileName(LPCTSTR lpszNewValue)
{
static BYTE parms[] = VTS_BSTR;
InvokeHelper(0xb, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
lpszNewValue);
}
7、獲得播放位置的函數(shù):
double CActiveMovie3::GetCurrentPosition()
{
double result;
InvokeHelper(0xd, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, NULL);
return result;
}
8、設(shè)置播放位置的函數(shù):
void CActiveMovie3::SetCurrentPosition(double newValue)
{
static BYTE parms[] = VTS_R8;
InvokeHelper(0xd, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
9、獲得音量的函數(shù):
long CActiveMovie3::GetVolume()
{
long result;
InvokeHelper(0x13, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
10、設(shè)置音量的函數(shù):
void CActiveMovie3::SetVolume(long nNewValue)
{
static BYTE parms[] = VTS_I4;
InvokeHelper(0x13, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);
}
11、設(shè)置自動開始播放的函數(shù):
void CActiveMovie3::SetAutoStart(BOOL bNewValue)
{
static BYTE parms[] = VTS_BOOL;
InvokeHelper(0x28, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, bNewValue);
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/yuzhould/archive/2010/07/30/4455010.html
總結(jié)
以上是生活随笔為你收集整理的ActiveMovie属性说明,使用资料。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 河南暴雨导致家里木地板泡水了怎么办
- 下一篇: Maven问题总结 - 2