Windows端和MAC端测试都可使用,但是不是很推荐使用这个
QT中播放音频文件的类:QMediaPlayer、QSound
主要讲解播放一段数据的方法和一边下载一边播放功能的方法:
QT中提供了相关的类
QAudioDeviceInfo类获取声卡设备的信息。
QAudioInput类操作声卡的录音
QAudioOutput类操作声卡的放音
QAudioFormat类对象用于配置声卡所用的声音三要素
这些类的头文件:
#include <QAudioDeviceInfo>
#include <QAudioOutput>
#include <QIODevice>
#include <QAudioFormat>
1、实现播放一段音频数据
我的数据是uint8_t格式,
QByteArray* byteBuffer = new QByteArray();
byteBuffer->resize(Data_sum);
memcpy(byteBuffer->data(), (char*)(Data), sum);//Data为uint8_t格式,sum为数据长度
QBuffer* input = new QBuffer(byteBuffer);
input->open(QIODevice::ReadOnly);
QAudioFormat audioFormat;
audioFormat.setCodec("audio/pcm");//编码器
audioFormat.setByteOrder(QAudioFormat::LittleEndian);//设定高低位,低位优先
audioFormat.setSampleRate(44100);//采样率
audioFormat.setChannelCount(2);//声道数目
audioFormat.setSam
QT开发:音频数据接收与播放实现

本文介绍了在QT中如何实现一边接收音频数据一边进行播放,涉及QMediaPlayer、QAudioInput和QAudioOutput等类的使用。通过确保声音三要素匹配解决噪音问题,并通过重载QIODevice的readData函数实现实时播放。同时,指出QT在不同平台可能存在播放噪音的BUG,建议Windows环境下考虑使用SDL。
最低0.47元/天 解锁文章
1万+

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



