Russian Qt Forum

Qt => Мультимедиа => Тема начата: GimaRa от Январь 26, 2015, 11:07



Название: QMediaPlayer и прослушивание музыки из сети.
Отправлено: GimaRa от Январь 26, 2015, 11:07
Всем доброго времени суток! Суть проблемы такова, объекту QMediaPlayer дается ссылка по которой находится аудиозапись, устанавливается громкость и начинаеться воспроизведение. Есть сигнал (bufferStatusChanged) который возвращает статус буфера т.е. если буфер заполнен (100%) играем если нет то ждем до того пока он заполнится и только тогда начинаемт или продолжаем играть (сигнал возращает от 0 до 100, когда загружено количество достаточное для воспроизверение нескольких секунд и замолкает при том что кеширование продолжается). Суть проблемы такова, как сделать так чтобы в процессе воспроизведения я мог получать данные о том сколько процентов или какое количество данных из данной аудиозаписи уже попало в буфер. К примеру когда в вк слушаете музыку или смотрите видео всегда бегит полоска которая показывает сколько из данной записи уже закешено.


Название: Re: QMediaPlayer и прослушивание музыки из сети.
Отправлено: carrygun от Январь 26, 2015, 11:16
Присоединяюсь к вопросу.

Сам несколько раз пытался подступиться к буферу и прочим данным плеера - ничего не удавалось. Меня интересует данная вещь под Win с MinGW.


Название: Re: QMediaPlayer и прослушивание музыки из сети.
Отправлено: GimaRa от Январь 26, 2015, 13:19
Могу подсказать только что  сталкивался на Win+MinGW  с такими чудесами что сигнал bufferStatusChanged и функция bufferStatus не работают т.е. всегда возвращяют 0. После долгих поисков нашел ответ, все дело в компиляторе MinGW он не кактит, только  с MSVC компилятором будет работать.


Название: Re: QMediaPlayer и прослушивание музыки из сети.
Отправлено: carrygun от Январь 26, 2015, 13:38
Там проблема в том, что в случае с MinGW идет обертка над DirectShow, а в MSVC над Media Foundation. И судя по справке лучше всего баловаться Gstreamer'ом на UNIX'ах.