我正在将我的 Qt 应用程序构建到 Ubuntu-22.04 上的 AppImage 中。它构建时没有错误并且应用程序可以运行。但问题是它应该显示视频,但它没有。该应用程序的初始版本可以成功显示视频,但新版本却不能。但是,当我在调试模式下从 Qt Creator 运行应用程序时,视频可以正常工作。 错误消息是:“defaultServiceProvider::requestService(): 找不到 - “org.qt-project.qt.mediaplayer”的服务。
我知道论坛上有多个关于此错误的主题,但我尝试了一切。 我安装了所有推荐的库:
sudo apt-get update
sudo apt-get -y install \
libclang-dev \
libdbus-1-dev \
libfontconfig1-dev \
libfreetype6-dev \
libgl1-mesa-dev \
libharfbuzz-dev \
libx11-dev \
libx11-xcb-dev \
libxcb-glx0-dev \
libxcb-icccm4-dev \
libxcb-image0-dev \
libxcb-keysyms1-dev \
libxcb-randr0-dev \
libxcb-render-util0-dev \
libxcb-shape0-dev \
libxcb-shm0-dev \
libxcb-sync0-dev \
libxcb-xfixes0-dev \
libxcb-xinerama0-dev \
libxcb1-dev \
libxext-dev \
libxfixes-dev \
libxi-dev \
libxkbcommon-dev \
libxkbcommon-x11-dev \
libxrender-dev \
libpulse-dev \
libunwind-dev \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer-plugins-bad1.0-dev \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-gl \
gstreamer1.0-libav \
gstreamer1.0-qt5 \
gstreamer1.0-tools \
libqt5multimedia5-plugins \
libqt5core5a \
libfuse2 \
ffmpeg \
ffmpegthumbnailer \
autoconf \
automake \
build-essential \
cmake \
git-core \
libass-dev \
libgnutls28-dev \
libmp3lame-dev \
libsdl2-dev \
libtool \
libva-dev \
libvdpau-dev \
libvorbis-dev \
meson \
ninja-build \
pkg-config \
texinfo \
yasm \
zlib1g-dev \
ffmpegthumbs \
ffmpeg-doc \
qtbase5-dev \
qtdeclarative5-dev \
libavcodec-dev \
qml-module-qtmultimedia \
qml-module-qt-labs-settings \
qml-module-qtquick-controls2 \
qml-module-qtquick-layouts \
qml-module-qtquick-window2 \
qml-module-qtquick-dialogs \
qml-module-qtquick-controls \
binutils \
fuse \
libglib2.0-0
我什至用 qtmultimedia 和 aqt 安装了 Qt:
aqt install-qt --outputdir ./Qt linux desktop 5.15.2 --archives qtmultimedia
如果有人可以向我提供解决此问题的说明,我将不胜感激。
更新: 我只需将 Qt mediaservice 文件夹及其插件添加到我的构建的插件目录中即可。