如何在自定义应用程序中禁用Flash Player上的声音?

伊凡·波什乔夫(Ivan Borshchov)

我使用Qt QWebView组件,该组件使用Flash Player进行视频播放。如何在QWebView内部执行的Flashplayer上禁用声音?

我考虑的一种方法是执行一些JavaScript代码以禁用播放器上的声音,但是什么时候执行呢?例如,如果在调用“ load”后1秒运行声音,则下一个代码将禁用声音:

page.mainFrame().evaluateJavaScript("""
    var mute_all_tags=function(tag){
        var elems = document.getElementsByTagName(tag);
        for(var i = 0; i < elems.length; i++){
            elems[i].muted=true;
            //alert(elems[i]);
        }
    }
    mute_all_tags("video");
    mute_all_tags("audio");
""")

较早的通话不会停止声音。调用QWebView.loadFinished会停止声音,但此刻已经发出了一些声音,如何立即停止声音?

德雷克斯

听起来您正在将带有HTML5视频或Flash视频的外部页面(即第三方网站)加载到QWebView中。而且,从一开始就保持视频完全静音,并且绝对没有音频,这似乎是您要寻找的关键功能。

解决方案1

page.mainFrame().evaluateJavaScript("...")的解决方案似乎是最简单的方法,但是执行此脚本之前会有一定的滞后。

解决方案2

另一种方法是抓取目标网站,然后使用正则表达式或类似方法更改所有<video>标签以添加静音属性,例如<video controls muted>对任何<embed>标签也做类似的事情然后,使用方法将该修改后的HTML加载到Web视图中setHtml(),同时还要设置基本url,并可能设置Referer标头。然后,HTML将从一开始就呈现为静音。

解决方案3

另一个想法可能是用Qt本身拦截媒体URL(例如.mp4,.mov),并最初将它们保存在暂停的队列中,调用page.mainFrame().evaluateJavaScript("...")以编程方式使<video>and<audio>标记静音,然后在evaluateJavaScript()调用返回时允许队列继续进行如果自动播放,则媒体应开始静音。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在某些应用程序中禁用声音?

来自分类Dev

如何在Azure远程应用程序上上传/运行自定义Windows应用程序

来自分类Dev

如何在Netbeans平台应用程序上启动自定义非UI线程?

来自分类Dev

如何使用自定义应用程序替换Windows 10上的登录应用程序

来自分类Dev

JqGrid-如何在jqGridInitGrid事件上为应用程序的每个网格执行自定义功能

来自分类Dev

如何自定义Flash Player端口

来自分类Dev

如何在Flutter中的背景上设置自定义声音通知?

来自分类Dev

iOS-如何在应用程序处于活动状态和非活动状态时通过自定义声音发出警报并暂停

来自分类Dev

如何在默认的Windows 10计时器应用程序中禁用警报声音

来自分类Dev

如何仅在我的应用程序中禁用声音?

来自分类Dev

如何在OSX上的C ++应用程序中播放合成声音?

来自分类Dev

从OS X上的Java应用程序中的自定义URI方案访问参数

来自分类Dev

从OS X上的Java应用程序中的自定义URI方案访问参数

来自分类Dev

如何在Android应用程序上没有活动(或在收到服务通知的情况下)打开自定义对话框

来自分类Dev

如何在移动Web应用程序中禁用在div上滚动

来自分类Dev

Linux上的Slack应用程序:如何在频道活动中禁用“蓝色圆圈”图标?

来自分类Dev

如何制作自己的基于自定义的平铺应用程序-不在Windows Phone 8中固定在开始屏幕上

来自分类Dev

如何在Reactstrap输入上应用自定义样式?

来自分类Dev

如何在自定义LoadingController上应用cssClass

来自分类Dev

如何在WatchOS 3中播放自定义声音,该声音将在手表扬声器上播放

来自分类Dev

如何在grouped.apply()。unstack()方法中的组元素上应用自定义公式?

来自分类Dev

在熊猫中,如何在Groupby Object上使用Group Mean应用自定义功能

来自分类Dev

在Heroku Web应用程序上,如何从用户从.herokuapp.com重定向到自定义域?

来自分类Dev

如何在VMware Player中在Android-x86上设置自定义分辨率

来自分类Dev

无法在应用程序启动器上设置自定义图标

来自分类Dev

Android应用程序上的Google Analytics(分析)自定义事件跟踪

来自分类Dev

Onsenui应用程序在导航器上添加自定义功能

来自分类Dev

在Azure上为Packer应用程序分配自定义角色

来自分类Dev

无法在应用程序启动器上设置自定义图标

Related 相关文章

  1. 1

    如何在某些应用程序中禁用声音?

  2. 2

    如何在Azure远程应用程序上上传/运行自定义Windows应用程序

  3. 3

    如何在Netbeans平台应用程序上启动自定义非UI线程?

  4. 4

    如何使用自定义应用程序替换Windows 10上的登录应用程序

  5. 5

    JqGrid-如何在jqGridInitGrid事件上为应用程序的每个网格执行自定义功能

  6. 6

    如何自定义Flash Player端口

  7. 7

    如何在Flutter中的背景上设置自定义声音通知?

  8. 8

    iOS-如何在应用程序处于活动状态和非活动状态时通过自定义声音发出警报并暂停

  9. 9

    如何在默认的Windows 10计时器应用程序中禁用警报声音

  10. 10

    如何仅在我的应用程序中禁用声音?

  11. 11

    如何在OSX上的C ++应用程序中播放合成声音?

  12. 12

    从OS X上的Java应用程序中的自定义URI方案访问参数

  13. 13

    从OS X上的Java应用程序中的自定义URI方案访问参数

  14. 14

    如何在Android应用程序上没有活动(或在收到服务通知的情况下)打开自定义对话框

  15. 15

    如何在移动Web应用程序中禁用在div上滚动

  16. 16

    Linux上的Slack应用程序:如何在频道活动中禁用“蓝色圆圈”图标?

  17. 17

    如何制作自己的基于自定义的平铺应用程序-不在Windows Phone 8中固定在开始屏幕上

  18. 18

    如何在Reactstrap输入上应用自定义样式?

  19. 19

    如何在自定义LoadingController上应用cssClass

  20. 20

    如何在WatchOS 3中播放自定义声音,该声音将在手表扬声器上播放

  21. 21

    如何在grouped.apply()。unstack()方法中的组元素上应用自定义公式?

  22. 22

    在熊猫中,如何在Groupby Object上使用Group Mean应用自定义功能

  23. 23

    在Heroku Web应用程序上,如何从用户从.herokuapp.com重定向到自定义域?

  24. 24

    如何在VMware Player中在Android-x86上设置自定义分辨率

  25. 25

    无法在应用程序启动器上设置自定义图标

  26. 26

    Android应用程序上的Google Analytics(分析)自定义事件跟踪

  27. 27

    Onsenui应用程序在导航器上添加自定义功能

  28. 28

    在Azure上为Packer应用程序分配自定义角色

  29. 29

    无法在应用程序启动器上设置自定义图标

热门标签

归档