2013-10-07 38 views
0

我在Mac OS X 10.8和Qt 5.1上使用Xcode 4.6。我想在我的應用程序中使用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文件是在同一目錄作爲編譯的可執行文件如果QMediaPlayer::MediaStatus等於QMediaPlayer :: LoadedMedia,則可能會更好地將插槽連接到mediaStatusChanged signal並從那裏開始播放。

相關問題