• 3233阅读
  • 2回复

phonon播放音乐自动重播问题已以解决) [复制链接]

上一主题 下一主题
离线silence.sx
 
只看楼主 倒序阅读 楼主  发表于: 2012-09-17
使用phonon做的音乐播放、
播放完了扑捉finished信号、然后在play();
但是貌似不起作用!


求助、?
离线silence.sx
只看该作者 1楼 发表于: 2012-09-18
自己顶一顶
离线silence.sx
只看该作者 2楼 发表于: 2012-09-18
  1. #ifndef MAIN_H
  2. #define MAIN_H
  3. #include <QMainWindow>
  4. #include <phonon/MediaObject>
  5. #include <phonon/VideoWidget>
  6. #include <phonon/AudioOutput>
  7. class Player : public QMainWindow
  8. {
  9.     Q_OBJECT
  10. public:
  11.     Player(QWidget *parent = 0);
  12. public slots:
  13.     void play();
  14. private slots:
  15.     void finished();
  16. private:
  17.     Phonon::MediaObject *mediaObject;
  18. };
  19. #endif // MAIN_H



cpp


  1. #include <QApplication>
  2. #include "main.h"
  3. Player::Player(QWidget *parent) : QMainWindow(parent)
  4. {
  5.     mediaObject = new Phonon::MediaObject(parent);
  6.     Phonon::AudioOutput *audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, parent);
  7.     Phonon::createPath(mediaObject, audioOutput);
  8.     connect(mediaObject, SIGNAL(finished()), SLOT(finished()));
  9. }
  10. void Player::play()
  11. {
  12.     mediaObject->setCurrentSource(Phonon::MediaSource("file:///home/user/MyDocs/.sounds/Total Fantasy.mp3"));
  13.     mediaObject->play();
  14. }
  15. void Player::finished()
  16. {
  17.     play();
  18. }
  19. int main(int argc, char *argv[])
  20. {
  21.     QApplication a(argc, argv);
  22.     a.setApplicationName("Minimalistic Media Player");
  23.     a.setOrganizationName("Maemo");
  24.     Player player;
  25.     player.show();
  26.     player.play();
  27.     return a.exec();
  28. }


快速回复
限100 字节
 
上一个 下一个