aardio 文档
aardio 范例: 播放声音
峰鸣器奏乐
//播放声音
import fsys.dlg;
import win.ui;
/*DSG{{*/
var winform = win.form(text="播放声音";right=506;bottom=186;border="dialog frame";max=false;min=false)
winform.add(
btnActiveMovie={cls="button";text="ActiveMovie 播放声音";left=273;top=74;right=482;bottom=106;z=5};
btnMessageBeep={cls="button";text="系统警报声";left=29;top=132;right=171;bottom=164;z=2};
btnMp3={cls="button";text="播放 MP3";left=29;top=19;right=171;bottom=51;z=4};
btnWav={cls="button";text="播放 WAV 文件";left=188;top=19;right=330;bottom=51;z=3};
btnWmpOcx={cls="button";text="WMPlayer.OCX 播放网络 MP3";left=29;top=74;right=260;bottom=106;z=1}
)
/*}}*/
import fsys.media;
winform.btnWav.oncommand = function(id,event){
var path = fsys.dlg.open("*.wav|*.wav||");
if(!path) return;
import fsys.media;
fsys.media.playSound(path);
}
import fsys.media;
winform.btnMp3.oncommand = function(id,event){
var path = fsys.dlg.open("*.mp3|*.mp3||");
if(!path) return;
if(mediaFile) {
mediaFile.stop();
}
mediaFile = fsys.media(path);
if(mediaFile) {
mediaFile.play();
}
}
winform.btnWmpOcx.oncommand = function(id,event){
/*
参考:https://docs.microsoft.com/zh-cn/windows/win32/wmp/object-model-reference-for-scripting
WMPlayer.OCX 只能用于界面线程,可用 := 操作符避免重复创建对象。
*/
..wmPlayer := com.CreateObject("WMPlayer.OCX");
//使用 COM 对象打开指定的音频
..wmPlayer.url = "http://download.aardio.com/v10.files/demo/mp3/lrc.mp3"
}
winform.btnActiveMovie.oncommand = function(id,event){
var path = fsys.dlg.open("*.mp3|*.mp3||");
if(!path) return;
//参考接口定义:"\lib\vc6\.vc\Include\IAMOVIE.IDL"
var axMovie = com.CreateObject("AMOVIE.ActiveMovieControl")
axMovie.FileName = path;
}
winform.btnMessageBeep.oncommand = function(id,event){
//播放系统警报声
//声音排队后,MessageBeep 函数将控制权返回给调用函数,并异步播放声音。
//Win7 以及之后系统使用默认声音设备(通常是声卡)
::User32.MessageBeep(0x10/*_MB_ICONHAND*/);
//峰鸣器奏乐: https://www.aardio.com/zh-cn/doc/example/Media/Audio/Beep.html
//峰鸣声,Win7 以及之后系统使用默认声音设备(通常是声卡),早期系统使用主板峰鸣器。
::Kernel32.Beep(550,500);
}
winform.show()
win.loopMessage();
Markdown 格式