crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Нужна помощь с QMediaPlayer
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
good_game Дата 4.7.2014, 16:12
  Поправка. Под Windows сигнал ошибки ловится. Под Linux по-прежнему не работает.
Появилась немного другая проблема. На некоторых машинах программа не воспроизводит mp4-файлы, хотя обычным плеером они воспроизводятся, что означает, что необзодимые кодеки есть. Есть на этот счёт какие соображения?
Кто-нибудь хоть немного разбирается в работе QMediaPlayer? Откуда он берёт кодеки и как работает?
good_game Дата 19.6.2014, 16:35
  Здравствуйте, уважаемые форумчане. В своём коде использую 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, подскажите.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 19.4.2024, 2:07