|
- #ifndef MUSICPLAYER_H
- #define MUSICPLAYER_H
- #include <QWidget>
- #include <QMouseEvent>
- #include <QMediaPlayer>
- #include <QMediaPlaylist>
- namespace Ui {
- class MusicPlayer;
- }
- class MusicPlayer : public QWidget
- {
- Q_OBJECT
- public:
- explicit MusicPlayer(QWidget *parent = 0);
- ~MusicPlayer();
- protected:
- void mousePressEvent(QMouseEvent *ev);
- void mouseMoveEvent(QMouseEvent *ev);
- private slots:
- ///歌曲切换槽
- void slotCurrentIndexChanged(int position);
- ///歌曲播放进度自定义槽
- void slotPositionChanged(qint64 position);
- ///当前歌曲总时长自定义槽
- void slotDurationChanged(qint64 duration);
- void on_pb_min_clicked();
- void on_pb_max_clicked();
- void on_pb_close_clicked();
- void on_pb_player_clicked();
- void on_hs_position_sliderMoved(int position);
- void on_hs_volume_sliderMoved(int position);
- void on_lw_songNameList_clicked(const QModelIndex &index);
- void on_pb_prev_clicked();
- void on_pb_next_clicked();
- void on_pb_playMode_clicked();
- private:
- Ui::MusicPlayer *ui;
- ///获取歌词
- QString m_lyricPath;
- QMap<quint64, quint64> m_mapLyricIndex; //time, index
- QStringList m_lyricList;
- void getCurrentLyric(void);
- ///初始化播放列表
- int m_playMode;
- int m_playIndex; //当前播放索引
- QString m_songPath;
- QStringList m_songNameList;
- QMediaPlaylist *m_playlist;
- void initPlayList(void);
- ///初始化播放器
- QString m_songName;
- qint64 m_totalPlayerTime;
- qint64 m_currentPlayerTime;
- QString m_playPosition;
- QMediaPlayer *m_player;
- void initPlayer(void);
- ///初始化界面部件
- QPoint m_widgetMove;
- void initWidgetUnits(void);
- };
- #endif // MUSICPLAYER_H
|