Russian Qt Forum

Qt => Мультимедиа => Тема начата: Сникерс от Декабрь 08, 2010, 17:25



Название: QAxWidget- Media player
Отправлено: Сникерс от Декабрь 08, 2010, 17:25
Доброе время суток господа программисты, обращаюсь к вам с простым вопросом: как открыть в медиа плеере видеофайл лежащий у экзешника проги?
Использую следующий код:
Код:
#include <QAxWidget>
PlayerWindow::PlayerWindow(QWidget *parent) :
        QWidget(parent)
{
    wmp = new QAxWidget;
    wmp->setControl("{22D6F312-B0F6-11D0-94AB-0080C74C7E95}");
    wmp->setProperty("ShowControls", false);
    wmp->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
openButton = new QToolButton;
    openButton->setText(tr("&Open..."));
    connect(openButton, SIGNAL(clicked()), this, SLOT(openFile()));
}

void PlayerWindow::openFile()
{
  QString fileName = QFileDialog::getOpenFileName(this,
                               tr("Select File"), ".", fileFilters);
  if (!fileName.isEmpty())
      wmp->setProperty("FileName",
                 QDir::toNativeSeparators(fileName));
   
}
Пробовал заменить:
 
Код:
void PlayerWindow::openFile()
{
  QString fileName = QFileDialog::getOpenFileName(this,
                               tr("Select File"), ".", fileFilters);
  if (!fileName.isEmpty())
      wmp->setProperty("FileName",
                 QDir::toNativeSeparators(fileName));
   
}
на
Код:
void PlayerWindow::openFile()
{
 wmp->setProperty("1.avi",QApplication::applicationDirPath() + QDir::separator() + QLatin1String("1.avi"));
   
}
Нефига не вышло,  в чем я ошибся?
И еще один вопрос:
Код:
connect( wmp, SIGNAL( finished() ),this, SLOT( videoend()) );
Почему то finished()  не работает... какой аналог можно придумать кроме таймера, чтобы при окончании видео выдавался сигнал?


Название: Re: QAxWidget- Media player
Отправлено: Сникерс от Декабрь 09, 2010, 17:35
С открытием фала разобрался:
Код:
void PlayerWindow::openFile()
{wmp->setProperty("FileName",QApplication::applicationDirPath() + QDir::separator() + QLatin1String("1.avi"));
}
А вот с определением конца видео решения пока нет
Код:
connect( wmp, SIGNAL( finished() ),this, SLOT( videoend()) );
не работает в консоле приложения вылетает: Object::connect: No such signal QAxWidget::finished()
Подскажите плз как определить что видео кончилось?