2010-01-28 24 views
0

我负责一个旧的BASIC程序,需要改变以激活特定按键上的麦克风录音。我无法找到如何。BASIC - 在按键上激活麦克风录音?

任何人在这里能够摆脱任何光线?

感谢您的任何帮助。

编辑:我很确定它最初是为GW-BASIC编写的。

+3

我有一种感觉,会有一个平台特定的答案。如果不知道您使用的是哪个平台和哪个BASIC实现,则无法给出这样的答案。 – spender 2010-01-28 09:54:59

+0

@spender - 我在windows上,我很确定它最初是为GW-BASIC编写的。 – Galwegian 2010-01-28 10:00:02

+0

你需要哪部分,“激活麦克风录音”或“在特定按键上?”后者很容易,但前者在GW-BASIC中相当困难。 – ChrisV 2010-01-28 13:42:45

回答

1

由于听起来你没有写过任何音频代码,我的建议是你不要尝试从GW-BASIC记录。没有用于访问声卡的内置功能(SOUND和BEEP不计数,因为它们与PC扬声器一起使用),发送SoundBlaster控制代码在Windows中最好不可靠。使用辅助的Windows本机程序进行记录。对于BASIC代码,你将不得不轮询键盘。示例:

100 PRINT "Press any key to continue" 
110 A$ = INKEY$ 
120 IF A$ = "" THEN GOTO 110 
130 IF A$ = CHR$(1) THEN GOSUB 1000 
140 PRINT "Rest of code goes here..." 
1000 ' Ctrl+A triggered the microphone 
1010 PRINT "Starting microphone recording." 
1020 SHELL "otherprg --startrecording" 
1030 RETURN 

替换您的首选密钥代码。如果您使用INPUT,那么有一种方法 - KEY语句? - 使您的选择功能键插入文本。当按下功能键时,使用KEY插入CHR $(2)+ CHR $(13)(^ B plus Enter),然后在每个INPUT调用中使用INSTR扫描CHR $(2)的结果,并分支到需要的麦克风代码。

但是,如果您使用INPUT读取数字,这仍然不起作用。严重的是,除非麦克风录音箱受到了极大的限制,否则你会为自己设置一个可怕的代码,而这些代码通常只能工作。

编辑:而这一切都是滑冰最大的问题:GW-BASIC是单一任务。当你从麦克风录音时,你无法在节目的其他地方做真正的工作,反之亦然。

+0

@ChrisV - 感谢你的回答,芽。 – Galwegian 2010-01-28 16:56:12