QSoundEffect播放wav没有声音,提示 using null output device, none available.

记:在银河麒麟下(ARM版)用QT播放音频文件时没有声音,但实际点击文件播放却有声音。

1. 网上方法

①在网上搜了一下,大部分说是由于在程序运行目录下缺少audio文件夹,需要从Qt安装目录下拷贝过来。

/opt/qt-5.9.2/plugins/audio

②有的说没有声音外设,未检测到播放工具,插上耳机就好。
不符合本人的情况 = =

2. 实测

测试代码:

QString strPath = QApplication::applicationDirPath() + "/warning.wav";
QSoundEffect* pPlayer = new QSoundEffect();
pPlayer->setSource(strPath);
pPlayer->setLoopCount(QSoundEffect::Infinite);
pPlayer->setVolume(1);
pPlayer->play();

运行报错:

QSoundEffect(qaudio): Error decoding source

此时需要将

pPlayer->setSource(strPath);

改为

pPlayer->setSource(QUrl::fromLocalFile(strPath));

再运行,报错:

ALSA lib conf.c:4133:(snd_config_update_r) Cannot access file /opt/qt-5.9.2/share/alsa/alsa.conf
no alsa devices avaliable

此时,看到这条报错,便豁然开朗,根据提示,在QT安装目录下,并未发现
/opt/qt-5.9.2/share/alsa/alsa.conf,于是我从其他地方拷贝一个share文件夹到QT安装目录下,再运行,已经有声音了。

注:由于我在其他电脑上刚好有,所以便没在深究,如果没有的话,可能需要重新编译QT,然后在编译时修改配置,编译参数添加上-alsa选项(音频播放)

2022-11-18
Alxa China.ZLG

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值