java实现动态录音,声卡有声音进来就自动录音

flashhero 2011-04-08 11:07:33
对讲机声音直接连在电脑的声卡的麦克风上,要求实现java发现有声音后能自动采集录音。

请问sound的哪个类可以实现,请教高手!

最好给出详细源码,谢谢!
...全文
584 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxwswzq 2013-05-19
  • 打赏
  • 举报
回复
楼主,你问题解决了吗?可不可以共享一下,我也需要,QQ:905221117
flashhero 2011-05-06
  • 打赏
  • 举报
回复
请教,能否给出代码
[Quote=引用 16 楼 kevin90828 的回复:]
如果要实现这样的功能,可以考虑使用JMF
[/Quote]
flashhero 2011-05-06
  • 打赏
  • 举报
回复
我看这个方法
getLevel
float getLevel()获得行的当前音量级别。此级别是对信号的当前振幅的测量,且不应该与音量控制的当前设置混淆。范围从 0.0(静)到 1.0(声音波形的最大可能振幅)。该单位测量线性振幅,不测量分贝数。
domonate 2011-05-03
  • 打赏
  • 举报
回复
也期待一下有没有好的解决办法!
Kevin-Kung 2011-05-03
  • 打赏
  • 举报
回复
如果要实现这样的功能,可以考虑使用JMF
wanwang8 2011-04-20
  • 打赏
  • 举报
回复
不是java的优势,期待大牛
wenbodong 2011-04-20
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 flashhero 的回复:]
好像只实现了有声音就录音,没实现“没声音就结束” ,
就是有人呼叫就开始一段录音,呼叫完毕就结束这段录音。

引用 4 楼 wenbodong 的回复:
[/Quote]
楼主,我的程序只是给你看看录音和播放的方法,不是针对你的要求写的
flashhero 2011-04-20
  • 打赏
  • 举报
回复
好像只实现了有声音就录音,没实现“没声音就结束” ,
就是有人呼叫就开始一段录音,呼叫完毕就结束这段录音。
[Quote=引用 4 楼 wenbodong 的回复:]
[/Quote]
flashhero 2011-04-20
  • 打赏
  • 举报
回复
有声音就录音 没声音就结束
flashhero 2011-04-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wenbodong 的回复:]
说明一下,你说要实现发现声音后自动录音,这个发现声音本来就需要一个界限,即你规定:采集到的声音数据的强度为多少时(当然,你可以选择采集很多数据取平均值)为有声音,并且把这此数据存入你的数据区。不过你要知道,其实你是在不停地采集声音的,即你不停地在录音。只不过你可以通过判断,决定是否将录入的声音数据存入某个数据区或者输出。
[/Quote]
谢谢 我也是这个想法
maxinliangGenius 2011-04-19
  • 打赏
  • 举报
回复
java 应该本身不能操作 这些,你可以查找第三方包或着用JTA调用dll 实现。
monalions 2011-04-19
  • 打赏
  • 举报
回复
貌似需要外接其他的硬件设备,才能辅助进行录音。我也在开发类似的功能,现在也是对录音功能比较挠头。关注中,如果哪位高人有办法,希望能指点一下。
flashhero 2011-04-19
  • 打赏
  • 举报
回复
自己在顶顶~~求大能
hackerhs 2011-04-19
  • 打赏
  • 举报
回复
java 做这些事情很难哦. .. . java优势不是干这行的 . .
wenbodong 2011-04-19
  • 打赏
  • 举报
回复
说明一下,你说要实现发现声音后自动录音,这个发现声音本来就需要一个界限,即你规定:采集到的声音数据的强度为多少时(当然,你可以选择采集很多数据取平均值)为有声音,并且把这此数据存入你的数据区。不过你要知道,其实你是在不停地采集声音的,即你不停地在录音。只不过你可以通过判断,决定是否将录入的声音数据存入某个数据区或者输出。
wenbodong 2011-04-19
  • 打赏
  • 举报
回复
TargetDataLine是声音的输入(麦克风),而SourceDataLine是输出(音响,耳机).
整个过程,请参见下面的程序.(运行后,实时地从麦克风录音,实时输出).如果有不明白的,可以加我QQ:815611030.加我的时候,注明一下:Java讨论(嘿嘿,总有些无聊的人,天天乱加人,加了又不说话,所以我不随便加人的).

import java.io.*;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.TargetDataLine;
public class RecordAndPlay {
static volatile boolean stop=false;
public static void main(String[] args) {
Play();
}
//播放音频文件
public static void Play() {

try {
AudioFormat audioFormat =
// new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 44100F,
// 8, 1, 1, 44100F, false);
new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,44100F, 16, 2, 4,
44100F, true);
DataLine.Info info = new DataLine.Info(TargetDataLine.class,
audioFormat);
TargetDataLine targetDataLine = (TargetDataLine) AudioSystem.getLine(info);
targetDataLine.open(audioFormat);
final SourceDataLine sourceDataLine;
info = new DataLine.Info(SourceDataLine.class, audioFormat);
sourceDataLine = (SourceDataLine) AudioSystem.getLine(info);
sourceDataLine.open(audioFormat);
targetDataLine.start();
sourceDataLine.start();
FloatControl fc=(FloatControl)sourceDataLine.getControl(FloatControl.Type.MASTER_GAIN);
double value=2;
float dB = (float)
(Math.log(value==0.0?0.0001:value)/Math.log(10.0)*20.0);
fc.setValue(dB);
int nByte = 0;
final int bufSize=4*100;
byte[] buffer = new byte[bufSize];
while (nByte != -1) {
//System.in.read();
nByte = targetDataLine.read(buffer, 0, bufSize);
sourceDataLine.write(buffer, 0, nByte);
}
sourceDataLine.stop();

} catch (Exception e) {
e.printStackTrace();
}
}
}
html,css,按钮 精选按钮样式设计美学与交互体验全解析 在数字产品的交互设计中,按钮作为连接用户与功能的关键桥梁,其样式设计直接影响用户体验与界面质感。本页面基于buttons.css样式库,精心呈现了一系列兼具美学价值与实用功能的按钮设计方案,为开发者与设计师提供直观的视觉参考与代码借鉴。 按钮设计看似简单,实则融合了视觉心理学、交互逻辑与品牌调性的多重考量。从极简的单色按钮到富有层次感的立体按钮,从静态的基础样式到带有hover动效的交互反馈,每一款设计都兼顾了视觉吸引力与操作清晰度。例如页面中展示的药丸反色按钮,通过圆润的边角处理(button-pill类)与高对比度的色彩反转(button-inverse类),既强化了视觉焦点,又在移动端场景中提升了触控识别度,尤其适合作为主要操作按钮使用。 页面采用简洁明快的布局逻辑,浅色背景与高对比度按钮形成鲜明视觉层次,每个按钮示例均搭配详细说明,清晰标注样式类名与适用场景。这种设计不仅便于开发者快速定位所需样式,更能帮助设计初学者理解"样式类组合"的设计思路——通过基础类与修饰类的灵活搭配,可衍生出海量符合不同场景需求的按钮样式,大幅提升开发效率。 无论是电商平台的购买按钮、社交应用的交互按钮,还是工具类产品的功能按钮,本页面展示的设计方案均遵循"一致性与差异性平衡"的原则:基础样式保持统一的视觉语言,确保界面整体性;特殊场景按钮通过色彩、形状或动效的微调,实现功能区分与重点突出。此外,所有按钮样式均基于标准化CSS类实现,便于开发者直接复用或根据品牌调性进行二次定制,兼顾了设计美感与开发实用性。 对于追求高效开发的团队而言,这样的样式库不仅能减少重复劳动,更能保障产品界面的设计一致性;对于设计师而言,这些经过实践验证的按钮样式可作为创意起点,在此基础上探索更具个性的设计表达。浏览本页面时,建议结合实际产品场

62,630

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧