【问题标题】:Running other processes while recording audio在录制音频时运行其他进程
【发布时间】:2014-03-13 14:06:58
【问题描述】:
我正在编写一个应用程序作为项目的一部分,该项目涉及从嵌入式麦克风录制音频。该应用程序使用 GUI 让用户控制应用程序何时开始录制。我的问题是,当录制开始时,我无法使用 GUI 的任何其他部分。到目前为止,我已经减少到使用线程并让它们休眠直到说 30 秒然后它们停止记录。我希望让用户按一个按钮开始录制,然后按一个按钮停止。有人对我应该使用的策略有什么建议吗?
【问题讨论】:
标签:
java
multithreading
user-interface
audio
【解决方案1】:
这在一定程度上取决于您使用的是哪种 GUI 技术,但一般而言,GUI 在其自己的单独线程上运行,并且不应实际运行繁重的操作,因为它会导致 GUI 冻结。
多线程是显而易见的答案。在伪代码中(过于依赖技术,完全键入它相当冗长):
startButton.onClick {
new Thread(myRunnable).start();
}
stopButton.onClick {
myRunnable.stop();
}