Qt播放WAV格式音频文件的两种方法
来源:互联网 发布:淘宝网怎么下载 编辑:程序博客网 时间:2024/05/18 20:46
这两种方法都需要在.pro文件中加入multimedia模块。
方法一、使用QAudioOutput
#include <QApplication>#include <QFile>#include <QAudioFormat>#include <QAudioOutput>int main(int argc, char *argv[]){ QApplication a(argc, argv); QFile inputFile; inputFile.setFileName("test.wav"); inputFile.open(QIODevice::ReadOnly); //设置采样格式 QAudioFormat audioFormat; //设置采样率 audioFormat.setSampleRate(44100); //设置通道数 audioFormat.setChannelCount(2); //设置采样大小,一般为8位或16位 audioFormat.setSampleSize(16); //设置编码方式 audioFormat.setCodec("audio/pcm"); //设置字节序 audioFormat.setByteOrder(QAudioFormat::LittleEndian); //设置样本数据类型 audioFormat.setSampleType(QAudioFormat::UnSignedInt); QAudioOutput *audio = new QAudioOutput( audioFormat, 0); audio->start(&inputFile); return a.exec();}
注意这里采样率、通道数和采样大小的设置,本例只能用来播放无损的WAV。网上很多代码将采样率设置成8000、通道数设置为1、采样大小设置为8,这样虽然也能播放WAV,但是没有任何其他说明,也没提供播放所用的WAV文件,导致很多童鞋在网上找个WAV,播放时出现“嗡嗡”声,根本听不清。
“什么是无损”参考:http://blog.csdn.net/caoshangpa/article/details/51218597
“如何下载和制作无损WAV”参考:http://blog.csdn.net/caoshangpa/article/details/51218994
方法二、使用QSoundEffect#include <QApplication>#include <QSoundEffect>int main(int argc, char *argv[]){ QApplication a(argc, argv); QSoundEffect effect; effect.setSource(QUrl::fromLocalFile("test.wav")); //循环播放 effect.setLoopCount(QSoundEffect::Infinite); //设置音量,0-1 effect.setVolume(0.8f); effect.play(); return a.exec();}
11 0
- Qt播放WAV格式音频文件的两种方法
- Qt播放WAV格式音频文件的两种方法
- html/Javascript播放WAV音频文件的方法
- 用C#来播放.wav格式的音频文件
- 用C#来播放.wav格式的音频文件
- 在java程序中播放以.wav格式的音频文件
- 用 Qt 的 QAudioOutput 类播放 WAV 音频文件
- byte[]数组播放wav格式音频文件
- qt 用QSound播放WAV音频文件
- qt 用QSound播放WAV音频文件
- OpenAL播放WAV音频文件
- MFC播放wav音频文件
- WAV音频文件格式
- wav音频文件格式分析
- wav音频文件格式解析
- wav音频文件格式解析
- 简单的java 播放音频文件方法 (支持音频格式 wav mid aif)
- Windows下播放WAV音频文件
- BZOJ 2028|SHOI 2009|会场预约|平衡树
- wincmd for windows
- Java的String char()[待补充]
- 联合体 union
- 【014】【JVM中的两个Survivor区】
- Qt播放WAV格式音频文件的两种方法
- [BZOJ4518][Sdoi2016]征途(斜率优化dp)
- 练习2————1015
- NYOJ 523 亡命逃窜(三维BFS)
- 浏览器插件之ActiveX开发 资料收集
- 一步步教你安装hadoop
- 算是内心独白吧!
- 分组交换
- ios layer 动画-(transform.rotation篇)