采用java官方API——TargetDataLine,从声卡中采集音频数据达到录音效果,采集的数据为PCM裸流需要转为wav格式的话参照——PCM转WAV 。

示例代码:

import java.io.File;
import java.io.FileOutputStream;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.TargetDataLine;public class Tests{private static FileOutputStream os;//采样率private static float RATE = 44100f;//编码格式PCMprivate static AudioFormat.Encoding ENCODING = AudioFormat.Encoding.PCM_SIGNED;//帧大小 16 private static int SAMPLE_SIZE = 16;//是否大端private static boolean BIG_ENDIAN = false;//通道数private static int CHANNELS = 2;public static void main(String[] args) throws Exception{if(args.length<1) {save("F:/audio/123.pcm");}else {save(args[0]);}}public static void save(String path) throws Exception {File file = new File(path);if(file.isDirectory()) {if(!file.exists()) {file.mkdirs();}file.createNewFile();}AudioFormat audioFormat = new AudioFormat(ENCODING,RATE, SAMPLE_SIZE, CHANNELS, (SAMPLE_SIZE / 8) * CHANNELS,RATE, BIG_ENDIAN);TargetDataLine targetDataLine = AudioSystem.getTargetDataLine(audioFormat);targetDataLine.open();targetDataLine.start();byte[] b = new byte[256];int flag = 0;os = new FileOutputStream(file);while((flag = targetDataLine.read(b, 0, b.length))>0) {//从声卡中采集数据os.write(b);System.out.println(flag);}}
}

java录制声音(采集声卡音频数据)相关推荐

  1. DirectSound播放PCM(可播放实时采集的音频数据)

    前言 该篇整理的原始来源为http://blog.csdn.net/leixiaohua1020/article/details/40540147.非常感谢该博主的无私奉献,写了不少关于不同多媒体库的 ...

  2. python构建聊天机器人之录制声音保存为音频文件(利用pyaudio进行录音)

    最近心血来潮想利用 python构建一个智能语音聊天机器人,这样就能在我们无聊的时候和我们聊天以此打发时间啦:). 要想最终实现聊天机器人的构建需要经过一系列过程功能的实现,大致思路为程序接受用户的语 ...

  3. Android录制声音文件(音频),并播放

    readme:1.这个demo中没有对多次点击同一个声音文件做详细处理,偶尔会有崩溃,用的时候需要注意.2.按住录音按钮录音过程中,只对竖直方向处理了一下,水平方向没写:3.没有做删除某个声音文件的操 ...

  4. Java Mp3转化WAV/PCM音频数据,解码详细解析,提取每一帧数据集合/比特流/播放,一行代码!

    导言 大家好!我是原子君 1.因为Java本身只支持,wav,缺少mp3的解码器,所以Java自带的无法对mp3进行处理,这种MPEG-*音频有损压缩标准编码,更不要说使用Java的音频格式和音频流就 ...

  5. Python采集喜马拉雅音频数据详解

    前言 喜马拉雅是专业的音频分享平台,汇集了有声小说,有声读物,有声书,FM电台,儿童睡前故事,相声小品,鬼故事等数亿条音频,我最喜欢听民间故事和德云社相声集,你呢? 今天带大家爬取喜马拉雅音频数据,一 ...

  6. unity3D学习之音频数据的采集要点-audio菜鸟笔记6

    之前的那些博文都只是很粗糙的知识跟一些自己的练习而已,这次我将介绍一下自己用过的音频数据采集的方法: 1.AudioClip.GetData(a, b) 可以直接从AudioSource组件中的音频文 ...

  7. 【Android RTMP】音频数据采集编码 ( FAAC 编码器编码 AAC 音频采样数据 | 封装 RTMP 音频数据头 | 设置 AAC 音频数据类型 | 封装 RTMP 数据包 )

    文章目录 安卓直播推流专栏博客总结 一. FAAC 编码器编码 AAC 音频采样数据 二. 封装 RTMP 音频数据头 三. 封装 RTMP 音频数据类型 四. 拷贝 AAC 音频数据到 RTMPPa ...

  8. 【Android RTMP】音频数据采集编码 ( FAAC 编码器编码 AAC 音频解码信息 | 封装 RTMP 音频数据头 | 设置 AAC 音频数据类型 | 封装 RTMP 数据包 )

    文章目录 安卓直播推流专栏博客总结 一. FAAC 编码器编码 AAC 音频解码信息 二. 封装 RTMP 音频数据头 三. 封装 RTMP 音频数据类型 四. 拷贝 AAC 音频数据到 RTMPPa ...

  9. 【Android RTMP】安卓直播推流总结 ( 直播服务器搭建 | NV21 图像采集 | H.264 视频编码 | PCM 音频采集 | AAC 音频编码 | RTMP 包封装推流 )

    文章目录 一. 安卓直播推流专栏博客总结 二. 相关资源介绍 三. GitHub 源码地址 四. 整体 Android 直播推流数据到服务器并观看直播演示过程 Android 直播推流流程 : 手机采 ...

最新文章

  1. 蓝桥杯C++ AB组辅导课 第二讲 二分与前缀和 Acwing
  2. (2.15)备份与还原--使用作业备份、清理过期备份、清理历史记录、事务日志是否备份过...
  3. 踩自行车来进行人力发电,真的能驱动旋转木马吗?
  4. 前端学习(3206):初始化state
  5. 如何在Visual Studio 2012中撤消“范围到此”?
  6. EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)
  7. plsql oracle 使用教程
  8. bandicam——轻松录屏
  9. python日常应用——pdf拆分和合并 python PyPDF2
  10. OA产品:市场需求推动OA发展
  11. 程序员有多喜欢树莓派?这7个开发套件让他们爱不释手!
  12. 【一些有关GraN-DAG的知识点总结】
  13. 在office2010的ppt中加入音乐
  14. java 设计模式 常用21种
  15. python:计算自己的bmi值
  16. 纯代码实现WordPress文章部分内容关注微信公众号后可见
  17. 什么是3C认证自我声明?
  18. 如何快速判断一个文件是否为病毒
  19. 基于GC - MS的代谢组学研究揭示:SD大鼠和Wistar大鼠之间存在系统的代谢差异及乙醇灌胃反应差异
  20. 浅谈前端性能优化(九)——DNS解析优化

热门文章

  1. 华为云PaaS平台微服务治理5云容器引擎CCE
  2. 当我谈秋招时,我谈些什么
  3. element的el-table列标题添加自定义图标
  4. In file included from scripts/kconfig/lxdialog/checklist.c:24:0: scripts/kconfig/lxdialog/dialog.h:3
  5. 【BYM】Android 实现相机快门动画
  6. Kaggle鱼品种识别
  7. C++题目分享之小鱼比可爱
  8. SpringCloud Stream @EnableBinding注解过时
  9. 腾讯技术工程 | 透过新硬件环境下的存储技术,看未来数据库系统崛起(附PPT)...
  10. Jupyter Notebook对数据集进行数据分析 数据统计(含:样本数量/样本长度/样本长度分布图/示例样本打印)