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());
相关推荐
计算机学姐20 分钟前
基于SpringBoot的校园社团管理系统
java·vue.js·spring boot·后端·spring·信息可视化·推荐算法
java1234_小锋28 分钟前
Java高频面试题:SpringBoot如何自定义Starter?
java·spring boot·面试
落霞的思绪29 分钟前
Spring AI Alibaba 集成 Redis 向量数据库实现 RAG 与记忆功能
java·spring·rag·springai
键盘帽子29 分钟前
长连接中异步任务的同步等待陷阱:一次主线程阻塞的排查与修复
java·websocket·java-ee·web
你刷碗30 分钟前
基于S32K144 CESc生成随机数
android·java·数据库
灰子学技术37 分钟前
性能分析工具比较pprof、perf、valgrind、asan
java·开发语言
木井巳40 分钟前
【多线程】单例模式
java·单例模式·java-ee
無森~44 分钟前
HBase Java API
java·大数据·hbase
大尚来也1 小时前
看不见的加速器:深入理解 Linux 页缓存如何提升 I/O 性能
java·开发语言
zhougl9961 小时前
Java 常见异常梳理
java·开发语言·python