检测视频是不是在 C++ 中没有音频,最好使用 Qt Phonon

Posted

技术标签:

【中文标题】检测视频是不是在 C++ 中没有音频,最好使用 Qt Phonon【英文标题】:Detect if video has no audio in C++, preferable using Qt Phonon检测视频是否在 C++ 中没有音频,最好使用 Qt Phonon 【发布时间】:2012-05-04 04:06:58 【问题描述】:

如果 Phonon 和 Qt,我正在创建一个视频播放器。一切正常,但是当我的播放列表中有一个没有音频的视频时,我希望播放另一个音频。 我怎样才能做到这一点?我的意思是,我怎样才能检测到视频没有音频?

编辑:没有音频我的意思是“没有音频通道”

【问题讨论】:

您的意思是“没有音频通道”还是“包含静音的音频通道”? 【参考方案1】:

Qt 5 可能会帮助您。查看Phonon::Gstreamer::MediaObject。 API 类似于普通的 MediaObject,但有一些附加功能。你要的是audioAvailable()

【讨论】:

很好的答案,但 Qt5 不是还在 alpha 版本上吗? GStreaner 不是仅适用于 Linux 的后端吗?我的应用程序也必须在 Windows 中运行... @fredcrs 是的,它处于 alpha 版,但 beta 版计划很快发布,完整版很快就会发布。但是,我在 4.8.1 源代码中看到过这个类,所以它实际上也可能在那里工作。在浏览源代码时,我看到了一些 cmets,例如“FIX ME:MediaObject 还没有 hasAudio() 函数”,所以我想它应该很快就会完成。这就是我建议 GStreamer 版本的原因。是的,GStreamer 可以在 Windows、Mac 和 Linux 上运行。

以上是关于检测视频是不是在 C++ 中没有音频,最好使用 Qt Phonon的主要内容,如果未能解决你的问题,请参考以下文章

如何检测音频是不是无法静音?

C++ 在控制台应用程序中播放视频音频

如何检测 C++ 中是不是按下了任何键?

同步视频和音频(最好不使用 JavaScript)

在 C++ 中捕获音频

使用 javascript 检测 MP4 视频是不是有音轨