上一次发了QT音频采集篇,本次是它的后续内容。
未读过前篇的可以到此链接:Linux系统 QT+Faac实时音频采集编码(QT音频采集篇)
Linux下编译FAAC库:linux下编译faac库
一:FAAC使用流程图:

二:项目代码
本次项目基于上次的QT音频采集,把采集到的PCM数据存到本地文件,同时进行实时编码,再保存一个编码后的AAC文件,把两者进行对比,可以看到编码的效果。
.pro 文件
包含libfaac库文件位置,看安装在哪
LIB+= /usr/local/lib/libfaac.so\
.h 头文件
/*本程序实现简单的QT音频录音并实时写入PCM文件*/
/*同时初始化FAAC将原始音频编码实时写入AAC文件*/
/* Jingenfan@126.com 姓值钱的金三岁*/
#ifndef MYRECORD_H
#define MYRECORD_H
#include "myserver.h"
#include <QMainWindow>
#include <QWidget>
#include <QAudioRecorder>
#include <QAudioEncoderSettings>
#include <QtMultimedia/QAudioInput>
#include <QFile>
#include <QTimer>
#include <QIODevice>
#include <QBuffer>
#include <faac.h>
#include <iostream>
typedef unsigned long ULONG;
typedef unsigned int UINT;
typedef unsigned char BYTE;
typedef char _TCHAR;
class myRecord : public QMainWindow
{
Q_OBJECT
public:
explicit myRecord(QWidget *parent = 0);
void FAAC(); //FAAC初始化封装函数
void StartRecord(); //开始录音
void StopRecord(); //结束录音
void FaacEncode(); //编码
FILE* fout = NULL; //输出PCM文件
FILE* AACFILE = NULL; //输出AAC文件
MyServer* myserver;
int temp;
int end;

本文介绍在Linux系统中使用QT结合FAAC进行实时音频采集和编码的过程。内容包括FAAC的使用流程、项目代码实现、注意事项及运行结果。重点讲解了FAAC编码器的工作原理和参数配置,以及如何处理编码过程中的缓存和数据完整性问题。
最低0.47元/天 解锁文章
2706

被折叠的 条评论
为什么被折叠?



