WMplayer.ocx的一些使用

By admin at 2017-11-25 • 0人收藏 • 499人看过
属性/方法名: 说明: 
[基本属性]   
URL:String; 指定媒体位置,本机或网络地址 
uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible 
playState:integer; 播放状态,1=停止,2=暂停,3=播放,6=正在缓冲,9=正在连接,10=准备就绪 
enableContextMenu:Boolean; 启用/禁用右键菜单 
fullScreen:boolean; 是否全屏显示
 
[controls] wmp.controls //播放器基本控制 
controls.play; 播放 
controls.pause; 暂停 
controls.stop; 停止 
controls.currentPosition:double; 当前进度 
controls.currentPositionString:string; 当前进度,字符串格式。如“00:23” 
controls.fastForward; 快进 
controls.fastReverse; 快退 
controls.next; 下一曲 
controls.previous; 上一曲 

[settings] wmp.settings //播放器基本设置 
settings.volume:integer; 音量,0-100 
settings.autoStart:Boolean; 是否自动播放 
settings.mute:Boolean; 是否静音 
settings.playCount:integer; 播放次数 

[currentMedia] wmp.currentMedia //当前媒体属性 
currentMedia.duration:double; 媒体总长度 
currentMedia.durationString:string; 媒体总长度,字符串格式。如“03:24” 
currentMedia.getItemInfo(const string); 获取当前媒体信息"Title"=媒体标题,"Author"=艺术家,"Copyright"=版权信息,"Description"=媒体内容描述, "Duration"=持续时间(秒),"FileSize"=文件大小,"FileType"=文件类型,"sourceURL"=原始地址 
currentMedia.setItemInfo(const string); 通过属性名设置媒体信息 
currentMedia.name:string; 同 currentMedia.getItemInfo("Title")
 
[currentPlaylist] wmp.currentPlaylist //当前播放列表属性 
currentPlaylist.count:integer; 当前播放列表所包含媒体数 
currentPlaylist.Item[integer]; 获取或设置指定项目媒体信息,其子属性同wmp.currentMedia

playState:integer; 播放状态。这个属性改变时同时引发PlayStateChange事件与StateChange事件。取值范围为枚举型:WMPLib.WMPPlayState,它的成员如下:
  wmppsUndefined = 0;   //未知状态
  wmppsStopped = 1;    //播放停止
  wmppsPaused = 2;     //播放暂停
  wmppsPlaying = 3;     //正在播放
  wmppsScanForward = 4;   //向前搜索
  wmppsScanReverse = 5;   //向后搜索
  wmppsBuffering = 6;     //正在缓冲
  wmppsWaiting = 7;      //正在等待流开始
  wmppsMediaEnded = 8;    //播放流已结束
  wmppsTransitioning = 9;    //准备新的媒体文件
  wmppsReady = 10;      //播放准备就绪
  wmppsReconnecting = 11;   //尝试重新连接流媒体数据
  wmppsLast = 12;       //上一次状态,状态没有改变

利用aar播放示例:

import win.ui;
import com;
import fsys;
import table;
import string;
import console;
/*DSG{{*/
var winform = win.form(text="aardio Form";right=368;bottom=450;exmode="toolwindow";max=false;min=false;parent=...)
winform.add(
button={cls="button";text="获取播放状态";left=12;top=387;right=82;bottom=431;z=7};
button2={cls="button";text="获取播放进度";left=91;top=389;right=165;bottom=433;z=8};
button3={cls="button";text="button3";left=177;top=391;right=231;bottom=433;z=9};
button4={cls="button";text="button4";left=244;top=396;right=313;bottom=436;z=10};
listbox={cls="listbox";left=33;top=54;right=336;bottom=366;ah=1;aw=1;bgcolor=16777215;edge=1;hscroll=1;items={};vscroll=1;z=4};
next={cls="button";text="下一曲";left=276;top=7;right=320;bottom=42;ah=1;aw=1;z=6};
pause={cls="button";text="暂停";left=109;top=7;right=153;bottom=42;ah=1;aw=1;z=2};
play={cls="button";text="播放";left=47;top=7;right=97;bottom=42;ah=1;aw=1;z=1};
previous={cls="button";text="上一曲";left=221;top=7;right=265;bottom=42;ah=1;aw=1;z=5};
stop={cls="button";text="停止";left=165;top=7;right=208;bottom=42;ah=1;aw=1;z=3}
)
/*}}*/

console.open();
var wmp = com.CreateObject("WMPlayer.OCX");

//io.open();
list = {};
musiclist = {};
path = "D:\KuGou";

fsys.enum( path, "*.*",
        function(dir,filename,fullpath,findData){ 
                if(filename){ 
                   //io.print("发现文件:"+filename,"完整路径:"+fullpath)
                   if string.find(filename,".mp3")!=null or string.find(filename,".wav")!=null or string.find(filename,".MP3")!=null or string.find(filename,".WAV")!=null {
                           //io.print(filename);
                           table.push(list,filename+"  "+fullpath);
                           table.push(musiclist,fullpath);
                   }
                }
                /*
                else{
                        io.print( "发现目录:" + dir )
                }*/
        } 
        ,
        function(dir){
                return true;
        }
        /*如果此参数为false则忽略子目录*/
);

for i in list {
        winform.listbox.add(list[i]);
}

for j in musiclist {
        media = wmp.newMedia(musiclist[j]);
        wmp.currentPlaylist.appendItem(media);
}
//查看当前进度
winform.button2.oncommand = function(id,event){
	//winform.msgbox( winform.button2.text );
	console.log(wmp.controls.currentPositionString());
	
}
//查看媒体总长度
winform.button3.oncommand = function(id,event){
	console.dump(wmp.currentMedia.durationString());
	
	
}
//获取播放文件信息
winform.button4.oncommand = function(id,event){
    
    
	console.dump("名字:",wmp.currentMedia.getItemInfo("title"));
	console.dump("名字:",wmp.currentMedia.getItemInfo("FileSize"));
	
}
winform.next.oncommand = function(id,event){
        wmp.controls.next();
}


winform.previous.oncommand = function(id,event){
        wmp.controls.previous();
}

winform.stop.oncommand = function(id,event){
        wmp.controls.stop();
}


winform.pause.oncommand = function(id,event){
        wmp.controls.pause();
}


winform.play.oncommand = function(id,event){
        wmp.controls.play();
}

winform.listbox.oncommand = function(id,event){
        if( event == 0x2/*_LBN_SELCHANGE*/ ){
                winform.msgbox(musiclist[winform.listbox.selIndex]);
        }
}
//查看播放状态
winform.button.oncommand = function(id,event){
	//winform.msgbox( winform.button.text );
	console.log("播放状态:");
	select(wmp.playState()) {
			case 1 {
				console.log("停止!")
			}
			case 2 {
				console.log("暂停中!")
			}
			case 3 {
				console.log("播放中!")
			}
			else {
				console.log("....!")
			}
		}
	
}


winform.show() 
win.loopMessage();

blob.png


以上代码基于原帖:http://bbs.aardio.com/forum.php?mod=viewthread&tid=9629&extra=page%3D1

登录后方可回帖

登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前正在学aardio+halcon机器视觉.
Sciter中文在线文档Sciter在线学习文档
本 站 主 站:Stm32cube中文网
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
aardio在线手册Aardio在线手册
C大Aardio论坛:Aar爱好者论坛
简码教程网:简码编程
AARDIO语言QQ群:70517368
赞助商:才仁机械
下载站:非凡软件站
Loading...