如何使用Qt播放声音
如何使用Qt播放声音?我尝试这样做:如何使用Qt播放声音
QSound::play("sounds/croack.wav");
QSound的不上我的Ubuntu的工作(似乎它需要NAS,虽然之后我安装了它,它仍然无法正常工作)。是否有简单的单行Qt解决方案,还是需要抛出SDL或其他内容?
好吧我有一些进展,我可以玩ogg文件,但不是wav(不知道为什么)。
#include <QtGui>
#include <phonon/phonon>
int main(int argc, char* argv[]) {
QApplication app(argc, argv);
app.setApplicationName("bla");
Phonon::MediaObject *mediaObject = Phonon::createPlayer(Phonon::NoCategory, Phonon::MediaSource("sounds/4.wav"));
mediaObject->play();
return app.exec();
}
编译g++ ``pkg-config QtGui phonon --cflags --libs``
。
我真的很感激有这样一个最小的例子,它终于让我得到它的工作。谢谢! – daveagp 2015-01-19 23:17:28
试着用声子。它比QSound更强大。这是一个播放视频文件的最简单的例子。如果你省略了VideoWidget,它应该只播放音频。
#include <QApplication>
#include <QUrl>
#include <phonon/audiooutput.h>
#include <phonon/mediaobject.h>
#include <phonon/mediasource.h>
#include <phonon/videowidget.h>
using namespace Phonon;
int main(int argc, char** argv) {
QApplication app(argc, argv);
app.setApplicationName(QLatin1String("testphonon"));
const QUrl url = QUrl(QLatin1String("file:///somepath/somefile"));
MediaSource src(url);
MediaObject obj;
obj.setCurrentSource(src);
VideoWidget video;
video.show();
AudioOutput audio(VideoCategory);
Phonon::createPath(&obj, &video);
Phonon::createPath(&obj, &audio);
obj.play();
return app.exec();
}
我试过了,但这在我的Ubuntu上不起作用,没有声音播放。 – 2010-12-17 22:43:29
@Helltone:Phonon只是gstreamer等原生后端的包装。如果声子不起作用,那么它可能是后端的问题(如果一种格式可行,但另一种通常不行),或者声子配置不正确。检查一些使用gstreamer的视频播放器是否有相同的问题。 – 2010-12-18 15:20:53
是声子的标准吗?我应该包括哪些标题? – 2010-12-19 12:32:55
您有几种选择:
- QSound的(这是坏无法修复 - 不使用它)
- 声子(会做你想要什么,但我发现它是“太多”,特别是当你只是想播放几个通知声音)
- 其他图书馆,如SDL。
你能举一个刚刚播放声音的例子吗? – 2010-12-17 22:44:22
在QT5中,Phonon已从官方版本中删除。 QSound在很大程度上起作用,但请注意,QSound不支持播放所有采样率的波形文件(因为我发现困难)。 QT5 QSound does not play all wave files。
如果你使用QSound,你可以像你一样玩一个波;但确保您正在从磁盘播放文件;不是QT资源。由于资源尚未得到支持。您可以将资源中的wave文件即时复制到硬盘中,然后播放它;这正是我在应用程序中所做的。
可以使用QMediaPlayer两个文件格式,MP3播放和.wav
#include <QtMultimedia/QMediaPlayer>
QMediaPlayer *player = new QMediaPlayer;
player->setMedia(QUrl::fromLocalFile("/path"));
player->setVolume(50);
player->play();
但请确保为MP3安装了平台编解码器。 – Trilarion 2017-07-28 22:29:19
我试图在Ubuntu,Windows和Mac QSound的,他们都工作得很好。 – 2017-08-04 10:44:29