Шаг 289.
Библиотека PyQt5.
Мультимедиа. Класс QMediaPlayer (продолжение)
На этом шаге мы перечислим основные методы этого класса.
Класс QMediaPlayer поддерживает следующие наиболее полезные для нас методы (полный их список можно найти на странице
https://doc.qt.io/qt-5/qmediaplayer.html):
- setMedia (<QMediaContent>) - задает источник (мультимедийный файл или сетевой ресурс) для воспроизведения. Источник указывается в виде экземпляра класса
QMediaContent. Если передать значение None, заданный ранее источник будет выгружен.
Примеры задания источника-файла:
mp = QtMultimedia.QMediaPlayer()
mc = QtMultimedia.QMediaContent(QtCore.QUrl.fromLocalFile (r"c:\media\song1.mp3"))
mp.setMedia(mc)
Пример задания сетевого источника:
mp.setMedia(QtCore.QUrl(r"http://www.someradio.ru/playlist.m3u8"))
Метод является слотом;
- media () - возвращает заданный источник (экземпляр класса QMediaContent);
- setPlaylist (<QMediaPlaylist>) - задает в качестве источника плейлист (экземпляр класса QMediaPlaylist). Если передать значение None, заданный ранее плейлист будет выгружен. Метод является слотом;
- playlist () - возвращает заданный плейлист (экземпляр класса QMediaPlaylist);
- currentMedia () - возвращает текущий источник мультимедиа. Если был задан один источник вызовом метода setMedia(), возвращаемое значение то же, что и у метода
media(). Если был задан плейлист, возвращает позицию плейлиста, воспроизводящуюся в данный момент. В любом случае возвращаемое значение - экземпляр класса QMediaContent;
- play () - начинает или возобновляет воспроизведение мультимедиа. Метод является слотом;
- stop () - останавливает воспроизведение мультимедиа и перемещает позицию воспроизведения на начало. Метод является слотом;
- pause () - приостанавливает воспроизведение мультимедиа. Метод является слотом;
- state () - возвращает текущее состояние проигрывателя в виде значения одного из следующих атрибутов класса QMediaPlayer:
- StoppedState (или 0) - воспроизведение либо остановлено, либо еще не начиналось;
- PlayingState (или 1) - идет вое произведение;
- PausedState (или 2) - воспроизведение поставлено на паузу;
- duration () - возвращает продолжительность воспроизведения мультимедиа в миллисекундах;
- position () - возвращает текущую позицию воспроизведения мультимедиа в миллисекундах;
- isSeekable () - возвращает True, если имеется возможность изменить позицию воспроизведения, и False, если источник этого не поддерживает;
- setPosition (<Позиция воспроизведения>) - задает текущую позицию воспроизведения в миллисекундах. Метод является слотом;
- setVolume (<Громкость>) - задает громкость звука в виде числа от 0 (звук отключен) до 100 (максимальная громкость). Метод является слотом;
- volume () - возвращает громкость звука в виде числа от 0 до 100;
- setMuted (<Флаг>) - если передать значение True, звук будет отключен. Значение False восстанавливает прежнюю громкость. Метод является слотом;
- isMuted () - возвращает True, если звук в настоящее время отключен, и False - в противном случае;
- setPlaybackRate (<Скорость воспроизведения>) - задает скорость вое произведения мультимедиа. Значение параметра должно представлять собой вещественное число, умножаемое
на стандартную скорость воспроизведения, чтобы получить ее новую величину. Значение 1.0 задает стандартную скорость, меньшее 1.0 - уменьшенную скорость, а большее 1.0 - увеличенную. Метод является слотом;
- playbackRate () - возвращает текущую скорость воспроизведения мультимедиа;
- setVideoOutput (<QVideoWidget>) - задает панель для вывода видео, представляемую экземпляром класса QVideoWidget. Используется лишь при воспроизведении видео;
- mediaStatus () - возвращает состояние источника в виде значения одного из следующих атрибутов класса QMediaPlayer:
- UnknownMediaStatus (или 0) - состояние определить не удается;
- NoMedia (или 1) - указанный источник отсутствует;
- LoadingMedia (или 2) - идет загрузка данных источника;
- LoadedMedia (или 3) - загрузка данных источника закончена;
- StalledMedia (или 4) - воспроизведение приостановлено из-за опустошения внутреннего буфера проигрывателя или невозможности загрузить следующую порцию данных;
- BufferingMedia (или 5) - идет заполнение данными внутреннего буфера проигрывателя, однако данных достаточно для продолжения воспроизведения;
- BufferedMedia (или 6) - внутренний буфер заполнен, идет воспроизведение;
- EndOfMedia (или 7) - воспроизведение источника закончено;
- InvalidMedia (или 8) - источник не может быть воспроизведен (неподдерживаемый формат мультимедийных данных, поврежденный файл и т. п.);
- isAudioAvailable () - возвращает True, если источник содержит звук, и False - в противном случае. Обычно используется при воспроизведении видеороликов, чтобы
узнать, имеют ли они звуковое сопровождение;
- isVideoAvailable () - возвращает True, если источник содержит видео, и False - в противном случае;
- bufferStatus () - возвращает процент заполнения внутреннего буфера проигрывателя в виде числа от 0 до 100;
- error () - возвращает ошибку, возникшую при воспроизведении мультимедиа, в виде значения одного из следующих атрибутов класса QMediaPlayer:
- NoError (или 0) - никакой ошибки не возникло;
- ResourceError (или 1) - не удалось загрузить источник;
- FormatError (или 2) - неподдерживаемый формат звука или видео;
- NetworkError (или 3) - сетевая ошибка;
- AccessDeniedError (или 4) - недостаточно прав для загрузки источника;
- ServiceMissingError (или 5) - ошибка в мультимедийной подсистеме;
- errorString () - возвращает текстовое описание ошибки;
- isMetaDataAvailable () - возвращает True, если доступны метаданные источника, описывающие хранящиеся в нем мультимедийные данные, и False - в противном случае;
- metaData (<Ключ>) - возвращает метаданные, относящиеся к заданному в виде строки ключу. Список доступных ключей, которые могут нам пригодиться, приведен далее
(полный их список доступен по адресу https://doc.qt.io/qt-5/qmediametadata.html). Если не указано обратное, все
значения представляют собой строки, а слово "список" означает обычный список Python (класс list).
- Title - название произведения;
- Author - список авторов произведения;
- Comment - примечание;
- Description - описание;
- Genre - список жанров, к которым относится произведение;
- Year - год выпуска произведения в виде целого числа;
- Date - дата выпуска произведения в виде экземпляра класса datetime, date;
- Language - язык произведения;
- Copyright - авторские права создателей произведения;
- Size - размер мультимедийного файла в байтах, представленный целым числом;
- Duration - продолжительность воспроизведения мультимедийного файла в миллисекундах, заданная целым числом;
- AudioBitRate - битрейт звука в виде целого числа, измеряемый в битах в секунду;
- AudioCodec - кодек, с помощью которого кодировался звук;
- СhannelCount - количество каналов звука в виде целого числа;
- AlbumTitle - название альбома, в который входит произведение;
- AlbumArtist - автор альбома;
- ContributingArtist - список исполнителей, занятых в записи альбома;
- Composer - список композиторов, произведения которых входят в альбом;
- Conductor - дирижер, занятый в записи альбома;
- Lyrics - тексты песен, входящих в альбом;
- TrackNumber - порядковый номер произведения в альбоме в виде целого числа;
- TrackCount - количество произведений в альбоме в виде целого числа;
- Resolution - размер видео в виде экземпляра класса QSize;
- VideoFrameRate - частота кадров видео в виде вещественного числа, измеряемая в кадрах в секунду;
- VideoBitRate - битрейт видео в виде целого числа, измеряемый в битах в секунду;
- VideoCodec - кодек, с помощью которого кодировалось видео;
- Director - режиссер фильма;
- LeadPerformer - список актеров, занятых в фильме;
- Writer - список авторов сценария фильма.
Следует отметить, что в источнике совсем не обязательно будут присутствовать все эти данные;
- availableMetaData () - возвращает список ключей, доступных в источнике метаданных.
На следующем шаге мы закончим изучение этого вопроса.
Предыдущий шаг
Содержание
Следующий шаг