javacv实时解析pcm音频流
- 解析代码
java"> try (ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes);){FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(inputStream);// PCM S16LE 格式grabber.setFormat("s16le");// 采样率grabber.setSampleRate(16000);// 声道数grabber.setAudioChannels(1);// 音频编码grabber.setAudioCodecName("pcm_s16le");grabber.start();Frame frame;// 注意每秒帧数等于音视频帧率(默认25),而不是音频采样率16000while ((frame = grabber.grabFrame()) != null) {// 处理音频帧}}
- 模拟测试
java"> File file = new File("C:/test.pcm");byte[] bytes = Files.readAllBytes(file.toPath());