HMI-54-【多媒體】音樂播放器 3

      網友投稿 793 2025-03-31

      HMI-54-【多媒體】音樂播放器 3

      HMI-54-【多媒體】音樂播放器 3

      今天我們接著搞音樂播放器,今天我們實現這個中心的音樂播放器。也就是這個歌曲信息,上一曲下一曲暫停,播放進度啥的。

      當前進度

      音樂播放器基本都可以使用了,后面再寫一個后面一個就是實現真正的播放功能,目前想的就是使用Qt自帶的媒體類。

      HMI-54-【多媒體】音樂播放器 3

      當前進度

      音樂信息

      音樂時間

      上一曲下一曲

      播放按鈕

      轉盤動畫

      繪制進度條

      第三階段成果展示

      第二階段成果展示

      第一階段成果展示

      關鍵字: HMI、Multifunction、Qt、qml、Music

      這個音樂的播放界面其實是一個子控件件,將來服務于USB音樂、藍牙音樂和網絡音樂,他們都用這個界面。

      音樂信息

      音樂信息,這個就沒啥好說的了,就是三個label,如下圖

      接口函數如下:

      void MFD_MultiMedia_Music::setMusic(QString name) { ui->label_music->setText(name); } void MFD_MultiMedia_Music::setSinger(QString signer) { ui->label_singer->setText(signer); } void MFD_MultiMedia_Music::setAlbum(QString album) { ui->label_album->setText(album); }

      音樂時間

      音樂時間是兩個label,一個是設置當前播放時間,一個是歌曲總時間。UI就不放了,直接放接口,代碼如下

      void MFD_MultiMedia_Music::setTimeGo(QString time) { ui->label_time_Go->setText(time); } void MFD_MultiMedia_Music::setTimeDuration(QString time) { ui->label_time_Go->setText(time); }

      上一曲下一曲

      上一曲下一曲就是兩個按鈕,和面會發送信號,UI就是兩個Button,代碼如下:

      void MFD_MultiMedia_Music::on_pushButton_next_clicked() { emit signal_MusicNext(); } void MFD_MultiMedia_Music::on_pushButton_previous_clicked() { emit signal_MusicPrevious(); }

      播放按鈕

      界面上就是一個Button,操作代碼如下:

      void MFD_MultiMedia_Music::on_pushButton_palyOrPuse_clicked() { if(mPlayFlag) { mTimerPlayRotatePic->stop(); ui->pushButton_palyOrPuse->setStyleSheet("QPushButton{border-image: url(:/Multimedia/Resources/MultifunctionDisplay/Multimedia/Music/play.png);}"); } else { mTimerPlayRotatePic->start(1000/60); ui->pushButton_palyOrPuse->setStyleSheet("QPushButton{border-image: url(:/Multimedia/Resources/MultifunctionDisplay/Multimedia/Music/pause.png);}"); } mPlayFlag = !mPlayFlag; }

      函數一個是操作播放標志位,一部分是設置按鈕樣式,還有一部分就是開啟和關閉 動畫的Timer。

      轉盤動畫

      轉盤動畫就是繪制一個圖片,通過改變painter 的屬性來旋轉。后面是不是可以使用動畫呢。代碼如下:

      void MFD_MultiMedia_Music::drawPicGoRotate(int angle) { QPainter painter (ui->label_timeGoPic_rotate); painter.setRenderHint((QPainter::SmoothPixmapTransform)); painter.setRenderHint(QPainter::HighQualityAntialiasing); painter.translate(ui->label_timeGoPic_rotate->width()/2,ui->label_timeGoPic_rotate->height()/2); painter.save(); painter.rotate(angle); painter.drawPixmap((0-ui->label_timeGoPic_rotate->width()/2),(0-ui->label_timeGoPic_rotate->height()/2),ui->label_timeGoPic_rotate->width(),ui->label_timeGoPic_rotate->height(),QPixmap(":/Multimedia/Resources/MultifunctionDisplay/Multimedia/Music/timego_back_ratate_poointer.png")); painter.restore(); }

      繪制進度條

      就是繪制個圓弧,代碼如下:

      void MFD_MultiMedia_Music::drawTimeLine(int time) { QPainter painter (ui->label_timeGoPic); painter.setRenderHint((QPainter::SmoothPixmapTransform)); painter.setRenderHint(QPainter::HighQualityAntialiasing); painter.translate(ui->label_timeGoPic->width()/2,ui->label_timeGoPic->height()/2); painter.setPen(QPen(QColor(255,161,53),8)); painter.save(); painter.drawArc((0-ui->label_timeGoPic->width()/2)+4,(0-ui->label_timeGoPic->height()/2)+4,ui->label_timeGoPic->width()-8,ui->label_timeGoPic->height()-8,90*16,time*16); painter.restore(); }

      今天就到這里了。

      第三階段成果展示

      目前已完成液晶儀表三種模式的初步顯示,小模塊后期根據精力更新了,主要還得找美術來搞資源,自己能力不夠。暫未跟新計劃。展示如下:

      [video(video-yznBr6e3-1648369267384)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=679609061)(image-https://img-blog.csdnimg.cn/img_convert/4d157e1cb316b007a2cb9790cb2dbfde.png)(title-基于Qt的汽車儀表模擬 3.0)]

      B站鏈接:https://www.bilibili.com/video/BV1WS4y137y1/

      第二階段成果展示

      目前以完成HUD界面及接口開發,液晶儀表舒適模式和運動模式的開發。展示如下:

      [video(video-2AqJ88TY-1645273728489)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=594179292)(image-https://img-blog.csdnimg.cn/img_convert/e75563c3ce68bc980547dde8f6e265ba.png)(title-基于Qt的汽車儀表模擬 2.0)]

      B站鏈接:https://www.bilibili.com/video/BV1aq4y1t7H7/

      第一階段成果展示

      目前以完成HUD界面及接口開發,液晶儀表舒適模式開發。展示如下:

      [video(video-ArCvRvBQ-1642664938100)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=77197267)(image-https://img-blog.csdnimg.cn/img_convert/ccddd04e0cef191fd33d7f58d41adb24.png)(title-基于Qt的汽車儀表模擬 1.0))]

      B站鏈接:https://www.bilibili.com/video/BV1qJ411X7Gs/

      說明:

      本項目中所使借鑒原型來自:[吉利] 博瑞GE | 儀表HMI設計、吉利汽車HMI項目。

      多媒體部分是來自吉利博瑞2017旗艦版界面所有權和解釋權都歸吉利汽車所有。

      設計圖的所有權和解釋權都歸吉利汽車所有。

      本項目所有資源文件均由**打不死的小海**復刻制作。

      本項目代碼暫時不會開源,有需要的源碼的可與我聯系,左上角二維碼加微信。

      本項目僅限學習交流、禁止商業使用。

      Qt 交通智能體

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:如何修改WPS文本中自選圖形的默認格式
      下一篇:如何讓文檔中第二排文字與第一排編號后的文字對齊?(word添加編號后,怎么讓第二行內容和第一行對齊)
      相關文章
      亚洲日韩精品A∨片无码加勒比| 91在线精品亚洲一区二区| 亚洲AV综合色区无码一区爱AV| www.亚洲一区| 亚洲国产AV无码一区二区三区| 日本亚洲免费无线码 | 亚洲欧洲久久久精品| 亚洲AⅤ永久无码精品AA | 亚洲AⅤ优女AV综合久久久| 国产精品亚洲av色欲三区| 国产AV无码专区亚洲AV麻豆丫| 国产亚洲精aa在线看| 亚洲人AV在线无码影院观看| 亚洲欧洲无卡二区视頻| 亚洲AV无码一区二区三区性色| 亚洲AV无码AV日韩AV网站| 日本亚洲欧美色视频在线播放| 在线观看亚洲网站| 亚洲成A∨人片天堂网无码| 亚洲无码日韩精品第一页| 国产亚洲大尺度无码无码专线| 国产亚洲精品a在线无码| 亚洲av无码精品网站| 日本久久久久亚洲中字幕| 亚洲黄色网址大全| 亚洲人成电影在线观看网| 亚洲日本人成中文字幕| 亚洲国产AV无码一区二区三区| 无码色偷偷亚洲国内自拍| 亚洲毛片网址在线观看中文字幕| 久久久久国产亚洲AV麻豆| 亚洲AV综合色一区二区三区| 亚洲视频一区网站| 色偷偷亚洲女人天堂观看欧| 亚洲av中文无码乱人伦在线观看 | 久久亚洲AV成人无码国产电影| 亚洲AV中文无码乱人伦在线视色| 国产成人精品日本亚洲专区| 亚洲人成色7777在线观看| 亚洲天天在线日亚洲洲精| 亚洲另类小说图片|