javacv实时解析pcm音频流

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),而不是音频采样率16000
            while ((frame = grabber.grabFrame()) != null) {
                // 处理音频帧
            }
        }
  • 模拟测试
java 复制代码
        File file = new File("C:/test.pcm");
        byte[] bytes = Files.readAllBytes(file.toPath());
相关推荐
找不到、了9 分钟前
Spring-Beans的生命周期的介绍
java·开发语言·spring
caihuayuan427 分钟前
React Native 0.68 安装react-native-picker报错:找不到compile
java·大数据·sql·spring·课程设计
爱编程的鱼1 小时前
C#接口(Interface)全方位讲解:定义、特性、应用与实践
java·前端·c#
旋风菠萝1 小时前
深入理解Java中的Minor GC、Major GC和Full GC
java·jvm·gc
苹果酱05671 小时前
React方向:react脚手架的使用
java·vue.js·spring boot·mysql·课程设计
找不到、了1 小时前
JVM如何处理多线程内存抢占问题
java·jvm
zhougl9961 小时前
Apache HttpClient 5 用法-Java调用http服务
java·http·apache
spjhandsomeman1 小时前
各个历史版本mysql/tomcat/Redis/Jdk/Apache/gitlab下载地址
java·redis·mysql·jdk·tomcat·gitlab
未来影子2 小时前
面试中的线程题
java·数据库·面试
为美好的生活献上中指2 小时前
java每日精进 5.18【文件存储】
java·开发语言·minio·七牛云存储·s3·七牛云