1

Fedora Linux で C を使用して音声ストリーミング アプリケーションを構築しています。2 つのクライアント間でオーディオを実行していますが、次の段階はユーザー インターフェイスを実装することです。

「プッシュツートーク」スタイルでさまざまなキーボードキーを使用することを目指しています。つまり、「Q」キーを押したままにすると、ユーザーはあるユーザーと話し、「W」キーを押すと別のユーザーと話すことができます。

私の質問は、これを実装するにはどうすればよいですか? 送信スレッドは、サウンド カードから 180 バイトを読み取り、UDP パケットとして送信する while ループです。霧の明らかな問題は、押されたキーのエコー、画面をqとwで埋め尽くすこと、およびCでキーダウン/キーアップを検出する方法です。私は見てncursesいますが、それは大きなトピックです!

どんなアイデアやさらなる読書も大歓迎です。

J

4

1 に答える 1

0

を使用せずにキー押下を検出する方法に関する質問の最初の部分は、@ jim mcnamaraを使用して、優れた回答がncurses得られます。termios

そしてncurses、それが聞こえるほど怖くないようです:-)。これは、ncurses正確に(ほぼ)要件を満たす実装です。しかし、この投稿によると、 (ncursesが)次のキーが押されるのを待たないnotimeout()ように、呼び出しを追加する必要があります。getch()

于 2012-02-17T19:52:40.063 に答える