import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
File file = new File("OutPcm.pcm");
System.out.println(file.length());
int offset = 0;
int bufferSize = Integer.valueOf(String.valueOf(file.length())) ;
byte[] audioData = new byte[bufferSize];
InputStream in = new FileInputStream(file);
in.read(audioData);
float sampleRate = 16000;
int sampleSizeInBits = 16;
int channels = 1;
boolean signed = true;
boolean bigEndian = false;
// sampleRate - 每秒的样本数
// sampleSizeInBits - 每个样本中的位数
// channels - 声道数(单声道 1 个,立体声 2 个)
// signed - 指示数据是有符号的,还是无符号的
// bigEndian - 指示是否以 big-endian 字节顺序存储单个样本中的数据(false 意味着
// little-endian)。
AudioFormat af = new AudioFormat(sampleRate, sampleSizeInBits, channels, signed, bigEndian);
SourceDataLine.Info info = new DataLine.Info(SourceDataLine.class, af, bufferSize);
SourceDataLine sdl = (SourceDataLine) AudioSystem.getLine(info);
sdl.open(af);
sdl.start();
while (offset < audioData.length) {
offset += sdl.write(audioData, offset, bufferSize);
}
} catch (LineUnavailableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
java播放pcm文件。
java pcm数据文件
音频文件PCM转WAV格式转换类 Utils类 直接可以使用有现成DEMO。感谢评论 音频文件PCM转WAV格式转换类 Utils类
包含测试的 pcm 文件和 转换好的 mp3文件 以及java 转换的代码 保证可用
基于AudioTrack播放PCM音频文件的源码实例
java源码 java获取音频文件 播放时长AudioDemo .
2、Java实现播放pcm音频文件(PCMPlay.java) WAV:wav是一种无损的音频文件格式,WAV符合 PIFF(Resource Interchange File Format)规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。WAV对音频流的编码...
java base64的MP3转base64的pcm工具类,适用于微信小程序的语音转文字,因为小程序的录音为MP3,大部分语音读写的第三方只支持wav和pcm,不用生成文件
纯Java ,从输入流中截去音频的前44个字节。 适用WAV转PCM
java源码 pcm 转wav,方法参数为pcm文件路径,wav文件路径,可以直接使用。
很好的解决语音合成和格式问题
这是一个录制的pcm文件,但是使用百度语音识别,识别不出。返回错误码:3301
pcm文件转为wav文件,可直接调用使用,只需要填写源文件路劲和目标文件路径,若无法使用,调整数据头即可
使用AudioRecord进行录音 获取录音字节 将自己存储为pcm文件并将pcm文件转为wav文件 加单demo,只有3个按钮 开始录音/停止录音/文件转换 界面很简单 很适合初学者 快速了解AudioRecord录音的实现
本工程,通过android录音的pcm流写成pcm文件,然后加入wav头转化为可以播放的wav文件,在利用android 自动的lib_mediajni.so库转wav文件为amr文件,使得文件缩小到原来的十分之一的大小。
开发测试用的语音pcm测试文件
java版的G711U率转PCM,网上的资料都是C++实现的,因为找的一些资料(如:convertG711ToPcm)转出来声音失真,有噪音。我参考C++用java实现了转码,声音正常不失真,亲测有效,已在项目中使用。只做了U率的转码,A率...
音频转换为pcm格式文件,在appconfig文件中配置输入输出文件目录。方便语音转换的工具。挺好用的。转出的pcm格式文件可以直接转换文字。
android版的AAC和PCM互转, PCM->AAC, new PCMToAAC(aacPath,pcmPath).Encode(); AAC->PCM, new AACToPCM(aacPath,pcmPath).decode();
MATLAB 使用巴特沃夫滤波器进行低通滤波,然后使用改进的谱减法进行进一步去噪