没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|其它|编辑:郝浩|2004-08-05 09:29:00.000|阅读 1861 次
概述:
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>QBMusicParser</title>
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
<meta name="ProgId" content="VisualStudio.HTML">
<meta name="Originator" content="Microsoft Visual Studio.NET 7.0">
<meta name="Author" content="LvYou,吕游">
</head>
<body MS_POSITIONING="GridLayout" onload=WebMain()>
<OBJECT ID="DAControl" style="height:1px;width:1px" CLASSID="CLSID:B6FFC24C-7E13-11D0-9B47-00C04FC2F51D" >
</OBJECT>
把QB的乐谱放进来试试:
<select onchange="txtMusic.value=value">
<option value="o2a4b4>c4d8e8e4d4c4o2b4a4b4o3c4o2b8a8a1o2a4b4o3c4d8e8e8a4e8e4d4c4c4c8d8c8e8e1o3a8a4a8a4e4g8g4g8g4e8d8d8c8c4c4g8e8e1o3a8a4a8a4b8a8g8g4g8g4e8d8c4c4o2b8a8g4a1o3d8d8d8e8g4e8g8o2a1o4c8c8c8c8o3b4a8g8g1o3d8d8d8e8g8f8e4d8d4e8g8e8e4d8d8d8e8g4o4c8o3b8a1">歌曲1</option>
<option value="o3g16a8g16o4c8o3a16g16e2d16e8g16e8d16e16o2a2o3c16c8o2a16g8a8o3c8.d16c4d16d8c16o2a8o3e8d2o3g16e8g16e8g8a16a8o4c16o3a8g8e16e8d16e8g8e2o3g16e8g16e8g8a16a8o4c16o3a8g8e16e8d16e8g8e2o3d8.e16d8e8g8.a16g8a8o4c4.o3a8o4c2o3a16a8a16g8a8g8.e16d8e8g1o3d16d8c16o2a8o3d16e16c2">歌曲2</option>
<option value="o3e16g16a4a8g16a16a4p8a16e16g8g8g8a16g16g4d8e16d16o3d4d8e16d16d4c8d16e16e2.p8e16g16o3a4a8g16a16a4p8a16o4c16d8d8d8c16d16d4d8c16o3a16o3a4g16a8g16e4g8e16a16a1a4p4p4p8a16o4c16o4d8d8d8c16d16d4p8d16e16d8d8c16d8c16o3a4p8a16o4c16o4d16d8.c16d8.d8d8c16d8o3b16b2.p8a16o4c16d8d8d8c16d16d4p8d16e16o4d8d8c16d8c16o3a4p8a16o4c16d8d8c16d8.d8d8c16d8o3b16b2.p8e16g16o3a4a8g16a16a4p8a16e16g8g8g8a16g16g4d8e16d16d4d8e16d16d4c8d16e16e2.g8e16a16a1">歌曲3</option>
</select>
<textarea id=txtMusic rows=10 cols=40></textarea>
<button onclick="Play(txtMusic.value)">播放</button>
<button onclick="Stop()">停止</button>
</body>
</html>
<script language=javascript>
<!--
/************************************
JScript+DirectAnimation播放QB音乐程序
10/10/2002 4:03初稿
其中有很多QB音乐指令还不支持
未完成,未整理,仅供参考研究
LvYou 吕游 lvyou@msn.com
************************************/
function CPlayer(){
this.PlaySoundFont=PlaySoundFont
this.AdjustSpeed=AdjustSpeed
this.AdjustLevel=AdjustLevel
this.AdjustLevelUp=AdjustLevelUp
this.AdjustLevelDown=AdjustLevelDown
this.getTimeStandard=getTimeStandard
var m_sfpm=80; //每分钟多少个8分音符
var SFLength=100;
var CurrentLevel=4;
function PlaySoundFont(sf,sflength){
status=sf
snd.SwitchTo(m.SinSynth.Rate(GetFrq(sf)))
return
}
function AdjustSpeed(sfpm){
m_sfpm=sfpm
}
function getTimeStandard(){
return 20000/m_sfpm*8;
}
function AdjustLevel(sflv){
CurrentLevel=sflv;
}
function AdjustLevelUp(){
CurrentLevel++;
}
function AdjustLevelDown(){
CurrentLevel--;
}
function GetFrq(sf){
var feq=0;
switch (sf){
case "C":
feq=264
break;
case "D":
feq=297
break;
case "E":
feq=330
break;
case "F":
feq=352
break;
case "G":
feq=396
break;
case "A":
feq=440
break;
case "B":
feq=495
break;
case "P":
feq=0;
break;
default:
feq=0;
break;
}
feq=feq*Math.pow(2,CurrentLevel-2)
return feq
}
function GetInterval(sflen){
return 100;
}
}
function parseCommand(strMusic){
var cmdstr="";
var SoundFont=/^([CDEFGABP])(\d{0,2})(\.?)/i
var LevelAdjust=/^O([123456])/i
var LevelUP=/^>/i
var LevelDown=/^</i
var SpeedAdjust=/^T(\d{1,})/i
var result;
result=strMusic.match(SoundFont)
if (result!=null){
if (RegExp.$2=="")
cmdstr="SF " + RegExp.$1 + " 8" //默认8分音符
else
if (RegExp.$3=="") //不带附点
cmdstr="SF " + RegExp.$1 + " " + RegExp.$2
else //带附点
cmdstr="SF " + RegExp.$1 + " " + parseInt(RegExp.$2)*2/3
return new Array(cmdstr,RegExp.lastIndex)
}
result=strMusic.match(LevelAdjust)
if (result!=null){
cmdstr="LA " + RegExp.$1
return new Array(cmdstr,RegExp.lastIndex)
}
result=strMusic.match(LevelUP)
if (result!=null){
cmdstr="LU"
return new Array(cmdstr,RegExp.lastIndex)
}
result=strMusic.match(LevelDown)
if (result!=null){
cmdstr="LD"
return new Array(cmdstr,RegExp.lastIndex)
}
result=strMusic.match(SpeedAdjust)
if (result!=null){
cmdstr="SA " + RegExp.$1
return new Array(cmdstr,RegExp.lastIndex)
}
}
var MusicBuffer
var PlayInProgress=false
var TimerID
function DoPlayMusic(strMusic){
PlayInProgress=true
if (MusicBuffer!=""){
strMusic+=MusicBuffer
MusicBuffer=""
}
var ParseResult=parseCommand(strMusic)
if (typeof(ParseResult)=='undefined'){
Player.PlaySoundFont("P",sflength)
PlayInProgress=false
return
}
//alert(ParseResult)
var cmd=ParseResult[0]
var idx=ParseResult[1]
cmd=cmd.split(" ")
//alert(cmd)
//alert(strMusic.substr(idx))
switch(cmd[0]){ //命令种类
case "SF": //soundfont
var sf=cmd[1].toUpperCase();
var sflength=parseInt(cmd[2])
Player.PlaySoundFont(sf,sflength)
//alert(5000/sflength)
TimerID=setTimeout("DoPlayMusic('" + strMusic.substr(idx) + "')",Player.getTimeStandard()/sflength)
break;
case "LA": //Level Adjust
Player.AdjustLevel(cmd[1])
TimerID=setTimeout("DoPlayMusic('" + strMusic.substr(idx) + "')",0)
break;
case "LU": //Level Adjust
Player.AdjustLevelUp()
TimerID=setTimeout("DoPlayMusic('" + strMusic.substr(idx) + "')",0)
break;
case "LD": //Level Adjust
Player.AdjustLevelDown()
TimerID=setTimeout("DoPlayMusic('" + strMusic.substr(idx) + "')",0)
break;
case "SA": //Speed Adjust
Player.AdjustSpeed(cmd[1])
TimerID=setTimeout("DoPlayMusic('" + strMusic.substr(idx) + "')",0)
break;
}
}
function Play(MusicSegment){
if (!PlayInProgress)
DoPlayMusic(MusicSegment)
else
MusicBuffer+=MusicSegment
}
function Stop(){
clearTimeout(TimerID)
Player.PlaySoundFont("P",1)
PlayInProgress=false
}
function WebMain(){
m = DAControl.MeterLibrary;
snd=m.ModifiableBehavior(m.Silence);
DAControl.Image=m.EmptyImage;
DAControl.Sound=snd
DAControl.Start()
Player=new CPlayer()
}
//-->
</script>
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号