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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Баги QMediaPlayer  (Прочитано 3361 раз)
r04
Гость
« : Июль 21, 2014, 12:55 »

Один баг я добавил в трекер: https://bugreports.qt-project.org/browse/QTBUG-40314
Если коротко, то в цикле под андройдом треки не проигрываются при помощи
Код:
setPlaybackMode(QMediaPlaylist::CurrentItemInLoop);

Но внезапно я словил еще ряд багов, которые пока что не придумал как запихать в трекер, мало того, трекер - это долго, а было бы здорово, если кто-нибудь подсказал как их разрулить.

Есть файл: https://cloud.mail.ru/public/e864b36556e3/easy.wav
QMediaPlayer отказывается с ним работать - не проигрывает, а в окно отладки валит ошибками типа "плохой файл". В других проигрывателях файл проигрывается нормально. Было бы здорово, если кто-нибудь помог (желателньо проверив предварительно баг у себя) добавить это в багтрекер - у меня багтрекер вываливает ошибку при загрузке файла xD.
Проигрываю так:
Код:
m_player = new QMediaPlayer(this);
  m_playlist = new QMediaPlaylist();
  m_player->setPlaylist(m_playlist);

  m_playlist->addMedia(QUrl::fromLocalFile("/path/easy.wav"));
  m_playlist->setPlaybackMode(QMediaPlaylist::CurrentItemInLoop);
  m_player->play();

Наконец, есть еще один баг, с которым совсем не знаю как бороться. В программе создаю несколько объектов QMediaPlayer, затем, один из них разрушаю. В момент когда заканчивается трек у другого проигрывателя получаю неотлаживаемую ошибку - она происходит в потоке типа wavparser (который создается где-то в дебрях QMediaPlayer).

По последнему багу я экспериментировал. Если объект QMediaPlayer один - проблем нет. Обычно я проверял на двух объектах, но для проверки создал их штук 40, получил более развернутое описание в окне отладчика, в котором сообщалось о гонке потоков (внезапно) и предлогалось делать потокам join. Как сделать join потокам, которые мне не доступны вобще никак, я не придумал, сам объект QMediaPlayer работает в текущем потоке, но порождает дочерний.

Неужели никто не проигрывал одновременно несколько треков с QMediaPlayer?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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