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? 只需包含MediaSource
和QString
的相应标头。另外,请注意 setCurrentSource
文档中的内容:您也可以在此处使用 QUrl 或 QString(用于本地文件)。以上是关于Qt Phonon MediaObject 转换错误的主要内容,如果未能解决你的问题,请参考以下文章