Qt Phonon MediaObject 转换错误

Posted

技术标签:

【中文标题】Qt Phonon MediaObject 转换错误【英文标题】:Qt Phonon MediaObject conversion error 【发布时间】:2010-09-08 11:43:45 【问题描述】:

我想播放一些 WAV 文件,但在 Visual Studio 中出现错误 C2664:

error C2664: 'Phonon::MediaObject::setCurrentSource' : conversion error from'const char [24]' to 'const Phonon::MediaSource &'

这是代码:

Phonon::MediaObject *media_object_;

media_object_ = new Phonon::MediaObject(this);
media_object_->setCurrentSource("/sounds/startsound.wav");
media_object_->play();

错误 11 错误 C2664: 'Phonon::MediaObject::setCurrentSource' : no se puede convertir el parametro 1 de 'const char [24]' a 'const Phonon::MediaSource &' c:\Naali\devgit\naali \UiModule\Inworld\View\TTSChatWidget.cpp 105 UiModule

谢谢!

【问题讨论】:

【参考方案1】:

setCurrentSource() 函数通过 const-reference 获取 MediaSource 对象。 MediaSource 没有构造函数,它采用 const char *(以空结尾的字节字符串)。您可能需要使用您的路径创建一个 QString 的临时对象并将其传递给 MediaSource(可能是临时的)并使用它来创建您的 . C2664 上的 MSDN 文档的第二个示例解释了这一点。

media_object_->setCurrentSource(MediaSource(QString("/sounds/startsound.wav")));

【讨论】:

我使用它是因为它在这里:doc.trolltech.com/4.6/phonon-mediaobject.html 我必须在哪里声明 MediaSource? 只需包含MediaSourceQString 的相应标头。另外,请注意 setCurrentSource 文档中的内容:您也可以在此处使用 QUrl 或 QString(用于本地文件)。

以上是关于Qt Phonon MediaObject 转换错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Qt5 中播放声音(Qt4 迁移)?

Qt 视频播放器

有没有办法在 Qt 4.5 中播放 mp3?

QT中怎么在一个Widget中添加视频播放的功能,就是一打开这个Widget就自动播放视频?要用啥函数?

Qt mp3 文件到数据流

Qt学习笔记-安装phonon模块