widget.cpp 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #include "widget.h"
  2. #include "./ui_widget.h"
  3. #include <QTimer>
  4. #include <QFileDialog>
  5. #include "spdlog/spdlog.h"
  6. #include "fmtlog.h"
  7. Widget::Widget(QWidget *parent)
  8. : QWidget(parent)
  9. , ui(new Ui::Widget)
  10. {
  11. ui->setupUi(this);
  12. m_videoPlayer = std::make_shared<VideoPlayer>();
  13. m_videoPlayer->setPlayWidget(ui->widget_display);
  14. SPDLOG_INFO("***** Qt Library *****");
  15. VideoPlayer::ListHWDecoder();
  16. }
  17. Widget::~Widget()
  18. {
  19. delete ui;
  20. }
  21. void Widget::on_pBtn_openVideo_clicked()
  22. {
  23. SPDLOG_INFO("点击了“打开视频”按钮");
  24. QFileDialog fileDialog(this);
  25. fileDialog.setWindowTitle("选择视频文件");
  26. fileDialog.setFileMode(QFileDialog::ExistingFiles);
  27. fileDialog.setNameFilter("视频文件(*.mp4 *.avi *.flv *.mkv *.rmvb *.rm *.3gp *.wmv *.asf *.mov *.m4v *.dat *.vob *.mpg *.mpeg *.ts *.tp *.trp *.m2ts *.mts *.m2t *.m2p *.ps *.tp *.trp *.webm *.f4v *.swf *.avchd *.h264 *.h265 *.hevc *.vp9 *.vp8 *.vp6 *.vp10 *.rmvb *.rm *.3gp *.wmv *.asf *.mov *.m4v *.dat *.vob *.mpg *.mpeg *.ts *.tp *.trp *.m2ts *.mts *.m2t *.m2p *.ps *.tp *.trp *.webm *.f4v *.swf *.avchd *.h264 *.h265 *.hevc *.vp9 *.vp8 *.vp6 *.vp10)");
  28. fileDialog.setDirectory(QApplication::applicationDirPath());
  29. if (fileDialog.exec())
  30. {
  31. QStringList files = fileDialog.selectedFiles();
  32. if (files.size() > 0)
  33. {
  34. ui->lineEdit->setText(files[0]);
  35. }
  36. }
  37. m_videoPlayer->setPlayVedio(ui->lineEdit->text());
  38. }
  39. void Widget::on_pBtn_play_clicked()
  40. {
  41. SPDLOG_INFO("点击了“播放”按钮");
  42. m_videoPlayer->play();
  43. }
  44. void Widget::on_pBtn_pause_clicked()
  45. {
  46. SPDLOG_INFO("点击了“暂停”按钮");
  47. m_videoPlayer->pause();
  48. }
  49. void Widget::on_pBtn_stop_clicked()
  50. {
  51. SPDLOG_INFO("点击了“停止”按钮");
  52. m_videoPlayer->stop();
  53. }
  54. void Widget::on_pBtn_backward_clicked()
  55. {
  56. SPDLOG_INFO("点击了“后退”按钮");
  57. m_videoPlayer->backward(10000);
  58. }
  59. void Widget::on_pBtn_forward_clicked()
  60. {
  61. SPDLOG_INFO("点击了“前进”按钮");
  62. m_videoPlayer->forward(10000);
  63. }