永发信息网

有谁能帮我解释一下Qbasic里Play这个命令的具体用法?

答案:1  悬赏:30  手机版
解决时间 2021-02-11 14:58
  • 提问者网友:沉默的哀伤
  • 2021-02-11 03:55
是?QBSIC?中的?“PLAY”?命令。越详细越好!谢谢!
最佳答案
  • 五星知识达人网友:酒醒三更
  • 2021-02-11 05:16
功能:演奏由给定的字符串所表示的音乐
格式:PLAY [命令字符串]
说明:[命令字符串]是一种音乐语言单个字符命令组成,用以表示音符的音高、音长、速度及演奏方式等。
乐谱中的音符CDEFGAB(当1=C时相当于简符1234567)在BASIC中仍然是这7个字母,“#”(或“+”)号与“-”号分别表示乐谱中的升半音(#)和降半音(b),字符“.”代表延长前面音符的一半时长(用来表示附点音符),其他字符命今如下:
1、O命令
功能:用来设置要演奏的音符所在的八度,即音阶。
格式:On
说明:命令中n的取值为0-6。比如.使计算机在演奏完音阶3的CD之后,再演奏一个高八度的C,即音阶4中的c调,可以用PLAY “O3CDO4C”来实现。普通中音是指音阶3中的音符。
2、L命令
功能;用来设置要演奏的每个音符的长度(亦称音符的时值)。
格式:Ln
说明:n的取值1-64,L1表示以全音符,L2表示半音符,L4表示四分音符,L8表示八分音符……
一个音符的时值也可以直接写在该音符后面,而不用L命令。如L8A与A8等效,C4E4D4A4等效于L4CEDA,而L4CDEFC2AB2则表示音符后面不带数字的按L设定的四分音符演奏,后面带数字的G2和B2按数字指定的音值演奏,显然用L命令更简洁方便。
3、P命令
功能:表示休止符的长度
格式:Pn
说明:n的取值1-64,P1表示全休止符.P2表示半休止符,P4表示四分休止符……
4、T命令
功能;用来设置演奏的节拍速度。
格式:Tn
说明:n为每分钟演奏四分音符的数量,取值32-255,缺省是T120
注意:除了T命令外还可以用以下三个命令来控制演奏的速度:
(1)MN(音乐标准):它使每个音符以L设定的音值的7/8来演奏,使得两两音符之间有短暂的停顿。
(2)ML(音乐连奏);使演奏时两两音符间不停顿,每个音符将演奏足L规定的音长。
(3)Ms(音乐断音):使每个音符更短一些,以L给出的音值的3/4来演奏,以此来延长音符间的停顿。
另外.QB演奏音乐时有两种方式供选择:前台音乐和背景音乐。由MF和MB来确定。当“命令字符串”中出现MF时,表示在前台插放音乐.即QB要等到执行完PLAY语句后才能继续往下执行程序,在播放音乐时不能做其它的事情。而出现MB时,则表示在后台播放音乐,QB可以将最多32个音符或休止符保存在缓冲区,然后继续执行下面程序,而无需等待把这些音符全部演奏完。这样,MB允许QB在演奏的同时做一些其它的事情,如运算、绘图等等。
现在,在了解了PLAY语句使用方法的基础上我们编制一个简单的程序,来演奏《友谊地久天长》的片断,其相应的简谱如下:
我们把这段乐曲分四部分,每部分单独用一字符串表示,为使两部分间有短暂停顿,在每一部分的末端都用MN演奏。乐曲中连线处用ML连贯演奏。
A$="O2MNG O3C.C16CE D.C16DE C.C16EG MNA4."
B$="A G.E16EC D.C16DE C.O2A16AG O3MNC4."
C$="A MLG.E16EC D.C16MNDA MLG.E16EG MNA4."
D$="O4C O3G.E16EC D.C16DE C.O2A16AG O3C4."
PLAY "T60 L8"+A$+B$+C$+D$
END
为清晰起见,程序中各小节的音乐编码之间以空格分开,这样编码与乐谱之间的对应关系一目了然。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯