java获取Wav文件的属性及Wav音频文件的合成
来源:互联网 发布:一分钱图片淘宝怎么弄 编辑:程序博客网 时间:2024/06/14 10:44
1.WAVE文件的属性获取:
import javax.sound.sampled.AudioFormat;public class get_wav_msg { public static void main(String[] args) throws Exception { javax.sound.sampled.AudioInputStream audio_file = javax.sound.sampled.AudioSystem.getAudioInputStream(new java.io.File("///kuangyifei/一.wav")); audio_file.getFrameLength(); AudioFormat format = audio_file.getFormat(); System.out.println("format.toString() :"+format.toString()); System.out.println("channels :"+format.getChannels());//1 : mono 2:stereo //声道 System.out.println("frameSize :"+format.getFrameSize());//2 bytes/frame //每帧字节数 System.out.println("size in bits :"+format.getSampleSizeInBits());//16bit //帧数 System.out.println("samplerate :"+format.getSampleRate()); //采样速率 System.out.println("frameRate :"+format.getFrameRate()); }}
2.WAVE文件的合并:
其中WELCOME.WAV 是模版文件。主要提供生成文件的格式
一.wav是合并文件1。二.wav是合并文件2
com_wav.wav是生成的新文件。 文件的格式必须统一才可以。要不然会出现文件合成成功,但播放声音失败。
public class combination_wav { public static void main(String[] args) throws Exception{ mergeFile(new java.io.File("///kuangyifei/WELCOME.WAV"), new java.io.File("///kuangyifei/一.wav"), new java.io.File("///kuangyifei/二.wav"), new java.io.File("///kuangyifei/com_wav.wav")); } public static void mergeFile(java.io.File srcSammpe,java.io.File srcFile1, java.io.File srcFile2, java.io.File descFile) throws java.io.IOException,javax.sound.sampled.UnsupportedAudioFileException { if(!descFile.exists()){ descFile.createNewFile(); } javax.sound.sampled.AudioFileFormat aff = javax.sound.sampled.AudioSystem.getAudioFileFormat(srcSammpe); System.out.println(aff.getType()); javax.sound.sampled.AudioInputStream ais1 = javax.sound.sampled.AudioSystem.getAudioInputStream(srcFile1); javax.sound.sampled.AudioInputStream ais2 = javax.sound.sampled.AudioSystem.getAudioInputStream(srcFile2); java.io.SequenceInputStream sis = new java.io.SequenceInputStream(ais1, ais2); javax.sound.sampled.AudioSystem.write(new javax.sound.sampled.AudioInputStream(sis, aff.getFormat(), ais1.getFrameLength() + ais2.getFrameLength()), aff.getType(), descFile); if (ais1 != null) ais1.close(); if (ais2 != null) ais2.close(); if (sis != null) sis.close(); }}
源码地址:http://download.csdn.net/download/nepaltrip/10144699
阅读全文
0 0
- java获取Wav文件的属性及Wav音频文件的合成
- wav音频文件的结构
- 加载WAV音频文件的接口
- java切割wav音频文件
- Java切割wav音频文件
- 在java程序中播放以.wav格式的音频文件
- html/Javascript播放WAV音频文件的方法
- 获取WAV文件的相关信息
- sox 获取wav文件的时长
- WAV音频文件结构及录制
- wav音频文件
- WAV音频文件
- wav文件的读取
- WAV文件的读写
- PCM数据合成WAV文件
- PCM数据合成WAV文件
- java 将.amr音频文件转换为.mp3或.wav文件
- PCM音频文件(.wav)压缩成ADPCM(.wav) ,wav文件分析,wav 文件格式
- Spring5学习(二)-spring projects之Spring HATEOAS
- JS异步加载的三种方式
- 常用数据处理算法-灰色关联分析(GM)
- 如何去除windows显示“未知发行商”的提示
- 判断输入的数是否是素数
- java获取Wav文件的属性及Wav音频文件的合成
- cocos2d-lua3.7控件篇(三)-滚动条
- Linux上运行maven项目报错Fatal Error: Unable to find package java.lang in classpath or bootclasspath
- AndroidManifest.xml之动态修改应用的图标和应用名称
- 利用DotNetFactory调用.NET类库
- mac显示隐藏目录
- [原创] Python 使用指定的网卡发送HTTP请求
- go 调动C动态链接库
- linux查找日志技巧