Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нужна помощь с QMediaPlayer
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Мультимедиа
good_game
Здравствуйте, уважаемые форумчане. В своём коде использую QMediaPlayer. По нему есть несколько вопросов, на которые я не смог найти ответы:
1) Некоторые файлы могут не проигрываться. Кодеоков на машине нет. Нужно отловить этот момент.
Делал вот так:
connect(mediaPlayer, SIGNAL(error(QMediaPlayer::Error)), this, SLOT(mediaPlayerError(QMediaPlayer::Error)));

Не срабатывает, mediaPlayer сигнал error() не выдаёт вообще, хотя в поток ошибок пишет "GStreamer; Unable to play - "file:///home/user/123.mp4" .
Подскажите, как узнать, смог плеер файл открыть или нет. Очень нужно программно отловить ошибку. Какие есть ещё способы? И по какой причине мой код не срабатывает?

2) Не могу получить размеры видео изображения. Опять же, в соответствии с мануалом ловлю сигнал от mediaPlayer
connect(mediaPlayer, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)),
            this, SLOT(mediaPlayerStatusChanged(QMediaPlayer::MediaStatus)));

void MainWindow::sl(QMediaContent media)
{
    qDebug() << "Changed metadata ";
    QMediaResourceList rl = media.resources();
    if (!rl.isEmpty())
        qDebug() << "w=" << rl.first().resolution().width();
}

Выводит "w=-1"

Пробовал под Windows7 Ultimate Edition и XUbuntu 12.04. Результат одинаков. Если кто-то работал с QMediaPlayer, подскажите.
good_game
Поправка. Под Windows сигнал ошибки ловится. Под Linux по-прежнему не работает.
Появилась немного другая проблема. На некоторых машинах программа не воспроизводит mp4-файлы, хотя обычным плеером они воспроизводятся, что означает, что необзодимые кодеки есть. Есть на этот счёт какие соображения?
Кто-нибудь хоть немного разбирается в работе QMediaPlayer? Откуда он берёт кодеки и как работает?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.