Ошибка преобразования Qt Phonon MediaObject - PullRequest
0 голосов
/ 08 сентября 2010

Я хочу воспроизвести некоторые WAV-файлы, но у меня ошибка C2664 в Visual Studio:

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»: нет конвертирования по умолчанию. 1 de «const char [24]» \ UiModule \ Inworld \ View \ TTSChatWidget.cpp 105 UiModule

Спасибо!

1 Ответ

2 голосов
/ 08 сентября 2010

Функция setCurrentSource() принимает объект MediaSource по константной ссылке. Для MediaSource не существует конструктора, который принимает const char * (строка байтов с нулевым символом в конце). Возможно, вам потребуется создать временный объект QString с вашим путем и передать его в MediaSource (возможно, временный) и использовать его для создания вашего. Второй пример документации MSDN по C2664 объясняет это.

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