0

特定のキーを押したときにマイク録音をアクティブにするために変更する必要がある古いBASICプログラムを請求されています。方法がわかりません。

ここで光を当てることができる人はいますか?

助けてくれてありがとう。

編集:元々はGW-BASIC用に書かれたと確信しています。

4

1 に答える 1

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 と Enter) を挿入します。次に、すべての INPUT 呼び出しで、INSTR を使用して CHR$(2) の結果をスキャンし、分岐します。必要に応じてマイクコードに。

ただし、数値を読み取るために INPUT を使用している場合、これはまだ機能しません。真剣に、マイク録音のケースが非常に制約されていない限り、ほとんど機能しない恐ろしいコードに自分自身を設定しています.

編集:そして、これはすべて最大の問題を回避することです: GW-BASIC はシングルタスクです。マイクから録音している場合、プログラムの他の場所で実際の作業を行うことはできません。また、その逆も同様です。

于 2010-01-28T16:28:58.987 に答える