问题标签 [qtmultimedia]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 在 Mac OS (10.9) 上使用加密的自定义 QIODevice 流式传输 QMediaplayer
我目前正在将应用程序从 Qt4(.8.4) 移植到 Qt5(.2.0)。我几乎完成了所有已知的更改,例如不推荐使用的 toAscii() 函数、缺少 QtGui 等等。现在我们有了一个使用 phonon 框架的音乐播放器,它不再受支持,并被 QtMultimedia 模块取代,包括 QMediaPlayer 和一堆音频处理类。
我们的播放器实现采用自定义 QIODevice。该设备为磁盘上的加密音频文件提供了一个接口。现在播放器向设备请求 x 字节,设备从加密文件中读取,解密播放器请求的字节并返回它们。
现在我在多媒体模块中搜索了一个函数来重用我的 IODevice 并找到了以下函数:
并按如下方式使用它:
其中 m_pDecryptingMediaDevice 是 QIODevice 子类,m_pPlayer 是 QMediaPlayer。
现在在 Windows 上,一切都按预期工作。QMediaplayer 将其 MediaStatus 更改为 QMediaPlayer::LoadingMedia 并向我的设备询问字节。然后更改为 QMediaPlayer::State PlayingState 并将状态设置为 BufferedMedia。一切安好。Mac OS(10.9.1)上的不幸我只得到 QMediaPlayer::PlayingState ,仅此而已。播放器/音频后端从不向我的设备询问字节,也不调用任何其他函数。我认为错误与自定义 QIODevice 无关,而是与将其提供给 QMediaPlayer 的方式有关,因为播放器甚至不要求任何字节或调用设备上的任何函数。
我只是想把它分解成一个小测试项目:
奇怪的是,这根本不播放 - 不在 Windows 上,不在 Mac OS 上。总是有效的就是给玩家一个 URL,比如
根据使用函数 setMedia(const QMediaContent & media, QIODevice * stream = 0) 从 QIODevice 流式传输到 QMediaPlayer,有人在类似情况下有任何经验吗?我被这个困住了。
最好的问候,并提前非常感谢。
简
qt - 视频的全屏模式
我在 QML 视图中嵌入了视频输出。它工作正常,但我想让视频输出在我点击它时全屏显示。
每次,我的视频顶部都会显示视图中的一些图像(一些是兄弟姐妹,一些不是)。实际上,它应该填充根元素,并且位于最前面的屏幕上。更改z
属性不会做任何事情。
使视频全屏显示的最佳技巧是什么?当我从正常切换到全屏时,视频应该继续播放而不会中断。
仅在 QML(而不是 C++)中的解决方案会更可取,因为我通过解析 XML 文件来构建我的 QML。
c++ - QAudioDeviceInfo 在 Ubuntu 上找不到默认音频设备
我正在尝试运行QAudioDeviceInfo 类参考中的基本示例,但 Qt 没有找到默认音频设备。
运行此代码显示没有输出:
我在 Ubuntu 13.10 上运行 Qt Creator 2.7.1 和 Qt 5.0.2。Qt Multimedia 是通过apt-get
. 我的 pro 文件有QT += multimedia
. 我的头文件包括:
关于我可能做错了什么的任何想法?
volume - QMediaPlayer 和分贝音量控制
我正在将我的音乐播放器从 Qt4 重写为 Qt5。我从 Phonon 切换到 QtMultimedia。我现在有一个严重的音量控制问题。为了支持 ReplayGain,我从媒体文件中读取标签,然后更改每个音轨的音量以保持相等。
在声子中,我使用 setVolumeDecibel,因为存储在标签中的音量差异以 dB 为单位。但是在 QtMultiMedia 中我不能使用它。QMediaPlayer 类只有一个 setVolume 函数。还有其他可能如何控制以 dB 为单位的音量吗?内部 setVolume 的计算是什么?也许我可以反转它以设置以 dB 为单位的音量。
或者你有什么其他建议我应该怎么做?
c++ - QML 中如何播放视频?
我是qml的新手。我想知道视频是如何在 qml 中播放的。后端如何处理视频(负责视频播放的类和模块)。如何添加自定义播放器以在 QML 中播放视频?有这方面的文件吗?是否有编写用于视频播放的 qt 插件的教程。
我不知道从哪里开始寻找?请帮忙。提前致谢。
c++ - QAudioDecoder - 未找到服务
我正在尝试使用QAudioDecoder类解码.wav文件。即使我已通过添加将QtMultimedia模块包含到我的.pro文件中,
但我收到一个错误,即未找到QAudioDecoder的服务。我看不出问题出在哪里。QT += multimedia
我在 Windows 7 上使用带有 MingGW 4.8 32 位的 Qt 5.1.0。
错误信息:
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.audiodecode"
.pro文件:
主文件:
arm - gstreamer-critical 在 arm 上执行 qt5
我已经使用 arm 编译器交叉编译了 Qt-5.xx 以获得多媒体支持。我能够使用 gstreamer 构建媒体服务插件。哪个是:
使用多媒体编译了一个示例。试图在船上执行。得到一个错误说:
用户界面出现。但是没有播放音频。我错过了什么?
c++ - Qt中如何选择setCodec()函数的参数进行录音
我在 Qt 中使用 QAudioRecorder 来录制声音,这里是示例代码。
但我不知道如何使用 setCodec() 函数
void QAudioEncoderSettings::setCodec(const QString & codec)
如何找出我可以使用的参数(例如"audio/amr"
或"audio/x-wav"
)及其确切含义?谢谢!
qt - 为什么 QML MediaPlayer/VideoOutput 对我不起作用?
我正在尝试通过以下代码使用 qml 播放测试视频:
但是,当我点击查看时,什么也没有发生。如果我将onPressed
事件更改为其他操作(不是使用player
),它工作正常,那么这不是MouseArea
问题。
我哪里错了?
谢谢你。