2014-09-29 91 views
4

我想创建一个小型的MP3播放器作为一个玩具项目,所以从Qt开始用于GUI。当我尝试播放mp3文件时,出现此错误。如何解决Qt5中的gstreamer错误?

Warning: "No decoder available for type 'audio/mpeg, mpegversion=(int)1, 
mpegaudioversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2, 
parsed=(boolean)true'." 
Error: "Your GStreamer installation is missing a plug-in." 

我安装的GStreamer和它的插件周围的Googling

sudo apt-get install gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav 

后,但我仍然得到错误。我如何解决它?

+0

尝试先使用gst-launch -v playbin启动相同的文件。这将给出使用的确切解码器。有一个名为“疯狂”的插件,我猜可能会丢失。尝试使用gst-inspect来查找它 – user2618142 2014-09-29 12:21:40

+0

我跑了gst-launch -v playbin song.mp3 并得到了'将管道设置为PAUSED ... 错误:管道不想暂停。 错误:来自元素/ GstPlayBin:playbin0:没有指定要播放的URI。 额外调试信息: gstplaybasebin.c(1655):gen_source_element():/ GstPlayBin:playbin0 管道设置为NULL ...... 解放出来管道... ' ,我跑'GST-检查mad'并得到了'没有这样的元素或插件'疯狂' – user3542154 2014-09-29 13:11:02

+0

现在有一个GStreamer特定的Qt库,命名为'QtGStreamer':奇怪的是:https://gstreamer.freedesktop.org/data/doc/gstreamer/head/qt-gstreamer /html/index.html。它可以在Ubuntu和Debian Jessie存储库中以“qtgstreamer”名称提供。 – Carlton 2017-02-15 19:24:31

回答

6

我有同样的问题。 使用下面的代码后,它修复。

sudo add-apt-repository ppa:mc3man/gstffmpeg-keep 
sudo apt-get update 
sudo apt-get install gstreamer0.10-ffmpeg 
sudo apt-get install gstreamer0.10-plugins-ugly 

Qt Creator的3.4.2的Ubuntu 14.04

+0

似乎[PPA](https://launchpad.net/~mc3man/+archive/ubuntu/gstffmpeg-keep)没有'gstreamer0 .10插件,ugly'。 – 2016-12-17 05:58:21

+0

看来他们已经删除'gstreamer0.10-plugins-丑陋'后14.04 http://packages.ubuntu.com/search?keywords=gstreamer0.10-plugins-ugly,但你可以尝试它的新版本http:// www.linuxfromscratch.org/blfs/view/cvs/multimedia/gst10-plugins-ugly.html – 2016-12-19 02:59:21

+0

@ HiI'mFrogatto MayBe,它的=>'gstreamer1.0-plugins-bad'给你 – Abhi 2017-03-29 16:22:38

1

我试着挖了一点到这一点,并根据Qt的论坛,这个问题似乎是在QtMultimedia模块依然采用的GStreamer 0.10作为后端this话题 - 和它需要的gstreamer-0.10-ffmpeg插件,它是不可用在一些发行版中,由于转移到libav。

如果你正在使用Ubuntu的味道,你可以尝试从道格·麦克马洪的PPA安装gstreamer-0.10-ffmpeg

sudo add-apt-repository ppa:mc3man/gstffmpeg-keep 
sudo apt-get update 
sudo apt-get install gstreamer0.10-ffmpeg 
0

Debian8, QT5.7,我在执行这个:

sudo apt-get install gstreamer1.0* 
sudo apt-get install gstreamer0.10* 

这是不是最好的方式,但它的工作原理。

问候。

相关问题