java录制声音(采集声卡音频数据)
采用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录制声音(采集声卡音频数据)相关推荐
- DirectSound播放PCM(可播放实时采集的音频数据)
前言 该篇整理的原始来源为http://blog.csdn.net/leixiaohua1020/article/details/40540147.非常感谢该博主的无私奉献,写了不少关于不同多媒体库的 ...
- python构建聊天机器人之录制声音保存为音频文件(利用pyaudio进行录音)
最近心血来潮想利用 python构建一个智能语音聊天机器人,这样就能在我们无聊的时候和我们聊天以此打发时间啦:). 要想最终实现聊天机器人的构建需要经过一系列过程功能的实现,大致思路为程序接受用户的语 ...
- Android录制声音文件(音频),并播放
readme:1.这个demo中没有对多次点击同一个声音文件做详细处理,偶尔会有崩溃,用的时候需要注意.2.按住录音按钮录音过程中,只对竖直方向处理了一下,水平方向没写:3.没有做删除某个声音文件的操 ...
- Java Mp3转化WAV/PCM音频数据,解码详细解析,提取每一帧数据集合/比特流/播放,一行代码!
导言 大家好!我是原子君 1.因为Java本身只支持,wav,缺少mp3的解码器,所以Java自带的无法对mp3进行处理,这种MPEG-*音频有损压缩标准编码,更不要说使用Java的音频格式和音频流就 ...
- Python采集喜马拉雅音频数据详解
前言 喜马拉雅是专业的音频分享平台,汇集了有声小说,有声读物,有声书,FM电台,儿童睡前故事,相声小品,鬼故事等数亿条音频,我最喜欢听民间故事和德云社相声集,你呢? 今天带大家爬取喜马拉雅音频数据,一 ...
- unity3D学习之音频数据的采集要点-audio菜鸟笔记6
之前的那些博文都只是很粗糙的知识跟一些自己的练习而已,这次我将介绍一下自己用过的音频数据采集的方法: 1.AudioClip.GetData(a, b) 可以直接从AudioSource组件中的音频文 ...
- 【Android RTMP】音频数据采集编码 ( FAAC 编码器编码 AAC 音频采样数据 | 封装 RTMP 音频数据头 | 设置 AAC 音频数据类型 | 封装 RTMP 数据包 )
文章目录 安卓直播推流专栏博客总结 一. FAAC 编码器编码 AAC 音频采样数据 二. 封装 RTMP 音频数据头 三. 封装 RTMP 音频数据类型 四. 拷贝 AAC 音频数据到 RTMPPa ...
- 【Android RTMP】音频数据采集编码 ( FAAC 编码器编码 AAC 音频解码信息 | 封装 RTMP 音频数据头 | 设置 AAC 音频数据类型 | 封装 RTMP 数据包 )
文章目录 安卓直播推流专栏博客总结 一. FAAC 编码器编码 AAC 音频解码信息 二. 封装 RTMP 音频数据头 三. 封装 RTMP 音频数据类型 四. 拷贝 AAC 音频数据到 RTMPPa ...
- 【Android RTMP】安卓直播推流总结 ( 直播服务器搭建 | NV21 图像采集 | H.264 视频编码 | PCM 音频采集 | AAC 音频编码 | RTMP 包封装推流 )
文章目录 一. 安卓直播推流专栏博客总结 二. 相关资源介绍 三. GitHub 源码地址 四. 整体 Android 直播推流数据到服务器并观看直播演示过程 Android 直播推流流程 : 手机采 ...
最新文章
- 蓝桥杯C++ AB组辅导课 第二讲 二分与前缀和 Acwing
- (2.15)备份与还原--使用作业备份、清理过期备份、清理历史记录、事务日志是否备份过...
- 踩自行车来进行人力发电,真的能驱动旋转木马吗?
- 前端学习(3206):初始化state
- 如何在Visual Studio 2012中撤消“范围到此”?
- EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)
- plsql oracle 使用教程
- bandicam——轻松录屏
- python日常应用——pdf拆分和合并 python PyPDF2
- OA产品:市场需求推动OA发展
- 程序员有多喜欢树莓派?这7个开发套件让他们爱不释手!
- 【一些有关GraN-DAG的知识点总结】
- 在office2010的ppt中加入音乐
- java 设计模式 常用21种
- python:计算自己的bmi值
- 纯代码实现WordPress文章部分内容关注微信公众号后可见
- 什么是3C认证自我声明?
- 如何快速判断一个文件是否为病毒
- 基于GC - MS的代谢组学研究揭示:SD大鼠和Wistar大鼠之间存在系统的代谢差异及乙醇灌胃反应差异
- 浅谈前端性能优化(九)——DNS解析优化
热门文章
- 华为云PaaS平台微服务治理5云容器引擎CCE
- 当我谈秋招时,我谈些什么
- element的el-table列标题添加自定义图标
- In file included from scripts/kconfig/lxdialog/checklist.c:24:0: scripts/kconfig/lxdialog/dialog.h:3
- 【BYM】Android 实现相机快门动画
- Kaggle鱼品种识别
- C++题目分享之小鱼比可爱
- SpringCloud Stream @EnableBinding注解过时
- 腾讯技术工程 | 透过新硬件环境下的存储技术,看未来数据库系统崛起(附PPT)...
- Jupyter Notebook对数据集进行数据分析 数据统计(含:样本数量/样本长度/样本长度分布图/示例样本打印)