【问题标题】:QtWebEngine Quicknano has no Sound in Embedded LinuxQtWebEngine Quicknano 在嵌入式 Linux 中没有声音
【发布时间】:2016-03-12 01:24:26
【问题描述】:

我已将 QtWebEngine 编译到我的 i.MX6 嵌入式设备中。当我尝试使用 quicknanobrowser 播放 youtube Video 时,视频播放但没有声音。事实上,当我尝试播放hpr.dogphilosophy.net/test中的音频文件时,即使网站说支持浏览器编解码器,也没有声音。

我启用了pulseaudio、gstreamer、ffmpeg、opus、vpx、libwebp,但仍然没有声音。

但是,我可以使用 gst-launch 播放视频,并且会有声音。

不启用声音的 quicknanobrowser 是否有问题?或者有没有我需要添加到嵌入式系统的组件?

编辑:Alsa 和 pulseaudio、GStreamer 都可以正常处理声音。

【问题讨论】:

  • 首先通过aplay test.wav命令播放测试声音同时测试amixer。如果两者都正常工作,那么您的设备ALSA 工作正常,可以考虑更多选项。
  • 我在安装 QtWebEngine 之前测试了 Alsa。 Alsa 通过 aplay 和 amixer 工作。还有哪些选择?
  • 我也在使用 quicknanobrowser 但我的应用程序在尝试播放 youtube 视频时崩溃了。你能告诉我如何启动 quicknanobrowser 吗?我的意思是您可以使用哪些选项来播放 youtube 视频?
  • @surendranath 请创建一个新问题 :)

标签: html qt embedded-linux yocto qtwebengine


【解决方案1】:

您需要强制 QtWebEngine 使用 ALSA。在嵌入式系统中,默认是禁用的。

qt5.7/qtwebengine/src/3rdparty/chromium/media/media.gyp中,有一个测试来检查我们是否在嵌入式系统上:

  # Enable ALSA and Pulse for runtime selection.
  ['(OS=="linux" or OS=="freebsd" or OS=="solaris") and ((embedded!=1 and chromecast==0) or is_cast_desktop_build==1)', {
    # ALSA is always needed for Web MIDI even if the cras is enabled.
    'use_alsa%': 1,
    'conditions': [
      ['use_cras==1', {
        'use_pulseaudio%': 0,
      }, {
        'use_pulseaudio%': 1,
      }],
    ],
  }, {
    'use_alsa%': 0,
    'use_pulseaudio%': 0,
  }],

我将上次的 use_alsa% 更改为 1 并在 qt5.7/qtwebengine/src/core/config/embedded_linux.pri 中添加了一个新标志:

use_alsa=1

使用此设置,我的嵌入式 ARM Linux 上有音频并带有标志:

enable_webrtc=1

我能够开始一个包含视频和音频的 WebRTC 会话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    • 2016-05-02
    • 2019-04-11
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 2017-03-21
    相关资源
    最近更新 更多