2013-10-07 3 views
0

Я использую Xcode 4.6 для Mac OS X 10.8 и Qt 5.1. Я хочу использовать класс QMeduaPlayer в своем приложении. Вот мой код:QMediaPlayer не работает в qt5

#include <QApplication> 
#include <QMediaPlayer> 

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 
    QMediaPlayer* pl = new QMediaPlayer(); 
    pl->setMedia(QUrl::fromLocalFile("Crashday.wav")); 
    pl->play(); 
    a.exec(); 
} 

Но это не работает, и в консоли я вижу:

objc97058: Class AVFCaptureFramesDelegate is implemented in both /Users/liri/Qt/5.1.1/clang_64/plugins/mediaservice/libqavfcamera.dylib and /Users/liri/Qt/5.1.1/clang_64/plugins/mediaservice/libqavfcamera_debug.dylib. One of the two will be used. Which one is undefined. 
objc97058: Class AVFMediaRecorderDelegate is implemented in both /Users/liri/Qt/5.1.1/clang_64/plugins/mediaservice/libqavfcamera.dylib and /Users/liri/Qt/5.1.1/clang_64/plugins/mediaservice/libqavfcamera_debug.dylib. One of the two will be used. Which one is undefined. 
objc97058: Class AVFCameraSessionObserver is implemented in both /Users/liri/Qt/5.1.1/clang_64/plugins/mediaservice/libqavfcamera.dylib and /Users/liri/Qt/5.1.1/clang_64/plugins/mediaservice/libqavfcamera_debug.dylib. One of the two will be used. Which one is undefined. 
objc97058: Class AVFMediaPlayerSessionObserver is implemented in both /Users/liri/Qt/5.1.1/clang_64/plugins/mediaservice/libqavfmediaplayer.dylib and /Users/liri/Qt/5.1.1/clang_64/plugins/mediaservice/libqavfmediaplayer_debug.dylib. One of the two will be used. Which one is undefined. 
objc97058: Class TransparentQTMovieView is implemented in both /Users/liri/Qt/5.1.1/clang_64/plugins/mediaservice/libqqt7engine.dylib and /Users/liri/Qt/5.1.1/clang_64/plugins/mediaservice/libqqt7engine_debug.dylib. One of the two will be used. Which one is undefined. 
objc97058: Class HiddenQTMovieView is implemented in both /Users/liri/Qt/5.1.1/clang_64/plugins/mediaservice/libqqt7engine.dylib and /Users/liri/Qt/5.1.1/clang_64/plugins/mediaservice/libqqt7engine_debug.dylib. One of the two will be used. Which one is undefined. 
objc97058: Class QTMovieObserver is implemented in both /Users/liri/Qt/5.1.1/clang_64/plugins/mediaservice/libqqt7engine.dylib and /Users/liri/Qt/5.1.1/clang_64/plugins/mediaservice/libqqt7engine_debug.dylib. One of the two will be used. Which one is undefined. 

ответ

1

Попробуйте с

QMediaContent media(QUrl::fromLocalFile("Crashday.wav")); 
pl->setMedia(media); 
pl->play(); 

Убедитесь, что файл WAV в то же как скомпилированный исполняемый файл. Возможно, лучше соединить слот с mediaStatusChanged signal и начать воспроизведение оттуда, когда QMediaPlayer::MediaStatus будет равен QMediaPlayer :: LoadedMedia.

Смежные вопросы