gpt4 book ai didi

c++ - QFILE 用于 mediaSource 时 QT 声子播放失败,传递字符串时工作正常

转载 作者:太空宇宙 更新时间:2023-11-04 14:32:50 25 4
gpt4 key购买 nike

下面是我用来播放视频的代码

 QFile* file =new QFile(“C:\\Video\\test.avi”);
media->setCurrentSource(Phonon::MediaSource(file));
media->play();

使用此代码播放失败 - 我看到的是底部的播放栏,但视频从未开始播放。

如果我将代码更改为以下,一切都会按预期工作

  media->setCurrentSource(Phonon::MediaSource(“C:\\Video\\test.avi”));
media->play();

使用 iodevice 时是否需要额外的初始化步骤?最终我的代码将使用无法正常工作的自定义 iodevice。

最佳答案

这是一篇旧帖子,但我想消除任何混淆,以防将来对某人有所帮助。

  1. QT 允许您将 QIODevice 传递给 Phonon::MediaSource()。我们通过创建自己的 QIODevice 子类成功部署了我们的解决方案。

它对我不起作用的原因是 QT 对我使用的编解码器有问题。当您使用 QIO 设备时,您不会获得与传递字符串时相同的格式支持。

还有一点需要注意,虽然此解决方案在 Windows 上运行良好。在 Mac 上使用 QIO 设备时,整个文件将在播放前加载到内存中。就我而言,这是一个交易破坏者。如果您做的第一件事是解密整个文件并将其加载到内存中,那么拥有一个加密文件是毫无用处的。

关于c++ - QFILE 用于 mediaSource 时 QT 声子播放失败,传递字符串时工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9095341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com