0

我负责一个旧的 BASIC 程序,需要对其进行更改才能在特定按键上激活麦克风录音。我很难找出方法。

这里的任何人都可以阐明任何观点吗?

谢谢你的帮助。

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

4

1 回答 1

1

由于听起来您还没有编写任何音频代码,因此我的建议是您不要尝试从 GW-BASIC 进行录制。没有用于访问声卡的内置功能(SOUND 和 BEEP 不算,因为它们与 PC 扬声器一起使用),并且在 Windows 中发送 SoundBlaster 控制代码充其量是不可靠的。使用辅助的 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 加 Enter),然后在每个 INPUT 调用中使用 INSTR 扫描 CHR$(2) 的结果,然后分支根据需要添加到麦克风代码。

但是,如果您使用 INPUT 读取数字,这仍然不起作用。说真的,除非麦克风录音盒受到极大限制,否则您将自己设置为仅能正常工作的可怕代码。

编辑:所有这一切都围绕着最大的问题:GW-BASIC 是单任务处理。当您从麦克风录音时,您无法在程序的其他地方进行实际工作,反之亦然。

于 2010-01-28T16:28:58.987 回答