1

我在 Fedora Linux 中使用 C 来构建语音流应用程序。我在两个客户端之间运行音频,但下一阶段是实现用户界面。

我的目标是在“一键通”风格中使用不同的键盘键,即按住“Q”键允许用户与一个用户交谈,“W”另一个等等。

我的问题是,我将如何实施这个?传输线程只是一个 while 循环,它从声卡中读取 180 个字节并将其作为 UDP 数据包发送。薄雾明显的问题是按键的回声,用q和w填充屏幕,以及如何检测C中的按键向下/向上按键。我正在研究,ncurses但这是一个很大的话题!

任何想法或进一步阅读将不胜感激。

Ĵ

4

1 回答 1

0

@jim mcnamara很好地回答了您问题的第一部分,即如何在不使用ncurses的情况下检测按键termios

而且ncurses似乎并不像听起来那么可怕:-)。是一个ncurses完全(几乎)满足您要求的实现。但是根据这篇文章,您需要添加一个notimeout()调用,以便getch()(ncurses one)不等待下一次按键。

于 2012-02-17T19:52:40.063 回答