Russian Qt Forum
Ноябрь 22, 2024, 21:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Звуковые уведомления на Phonon - звук слышен, но в консоль пишет ошибки  (Прочитано 2940 раз)
schmidt
Гость
« : Февраль 15, 2013, 17:10 »

Здравствуйте, уважаемые,

Впервые работаю с Phonon (как, впрочем, вообще с мультимедиа). Методом научного тыка с помощью документации прикрутил к программе звуковые уведомления, всё работает, но смущает тот факт, что при каждом воспроизведении звука уведомления в консоль падает сообщение:

Код:
main input error: Invalid PCR value in ES_OUT_SET_(GROUP_)PCR !

Хотелось бы знать, что это вообще значит и как это исправить. Поиск в интернете приводит на багтрекеры старых версий VLC, ничего похожего на подробные разъяснения смысла этой ошибки не нашел. Просветите пожалуйста, что это за зверь и как с ним бороться Улыбающийся

На всякий случай приведу код, связанный с Phonon в приложении.

Конструктор:

Код:
NotificationsManager::NotificationsManager(QObject *parent) :
    QObject(parent)
{
    _notification_player = new Phonon::MediaObject(this);

    _audio_output = new Phonon::AudioOutput(Phonon::NotificationCategory, this);
    Phonon::createPath(_notification_player, _audio_output);
    _notification_player->setCurrentSource(Phonon::MediaSource(QString(DEFAULT_NOTIFICATION_SOUND)));
}

Слот, проигрывающий звук уведомления:

Код:
void NotificationsManager::playNotificationSound() {
    Phonon::MediaSource current_source = _notification_player->currentSource();
    _notification_player->stop();
    _notification_player->setCurrentSource(current_source);
    _notification_player->play();
}
Записан
schmidt
Гость
« Ответ #1 : Февраль 16, 2013, 07:40 »

Решил погуглить, что же за зверь такой вообще - PCR. Поиски привели на страничку англицкой Википедии http://en.wikipedia.org/wiki/MPEG_transport_stream#PCR, где сказано:

Цитировать
PCR

To enable a decoder to present synchronized content, such as audio tracks matching the associated video, at least once each 100 ms a Program Clock Reference, or PCR is transmitted in the adaptation field of an MPEG-2 transport stream packet. <...>

Исходя из описания, делаю вывод, что PCR - есть некий "способ синхронизировать звук с видео с расхождением не более в 0.1 секунду". Т.к. проигрываю я обыкновенный WAV файл, прихожу к выводу, что мне об этом беспокоиться вообще не стоит Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.086 секунд. Запросов: 20.