Spec-Zone.ru › Qt 5.15

Класс QMediaPlayer

Класс QMediaPlayer позволяет воспроизводить медиаисточник. Подробнее...

Заголовок: #include <QMediaPlayer>
qmake: QT += multimedia
Наследует: QMediaObject
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Общедоступные типы

перечисление Ошибка { НетОшибок, ОшибкаРесурса, ОшибкаФормата, ОшибкаСети, ОшибкаДоступа, ОшибкаОтсутствияСервиса }
перечисление Флаг { НизкаяЗадержка, ПотоковоеВоспроизведение, ВидеоПоверхность }
флаги Флаги
перечисление СостояниеМедиа { НеизвестноеСостояниеМедиа, БезМедиа, ЗагрузкаМедиа, ЗагруженноеМедиа, ПодтормаживаниеМедиа, …, НевернаяМедиа }
перечисление Состояние { Остановлено, Воспроизводится, Приостановлено }

Свойства

  • audioAvailable : const bool
  • audioRole : QAudio::Role
  • bufferStatus : const int
  • currentMedia : const QMediaContent
  • customAudioRole : QString
  • duration : const qint64
  • error : const QString
  • media : QMediaContent
  • mediaStatus : const MediaStatus
  • muted : bool
  • playbackRate : qreal
  • playlist : QMediaPlaylist*
  • position : qint64
  • seekable : const bool
  • state : const State
  • videoAvailable : const bool
  • volume : int

Общедоступные функции

QMediaPlayer(QObject *parent = nullptr, QMediaPlayer::Flags flags = Flags())
virtual ~QMediaPlayer()
QAudio::Role audioRole() const
int bufferStatus() const
QMediaContent currentMedia() const
QString customAudioRole() const
qint64 duration() const
QMediaPlayer::Error error() const
QString errorString() const
bool isAudioAvailable() const
bool isMuted() const
bool isSeekable() const
bool isVideoAvailable() const
QMediaContent media() const
QMediaPlayer::MediaStatus mediaStatus() const
const QIODevice * mediaStream() const
qreal playbackRate() const
QMediaPlaylist * playlist() const
qint64 position() const
void setAudioRole(QAudio::Role audioRole)
void setCustomAudioRole(const QString &audioRole)
void setVideoOutput(QVideoWidget *output)
void setVideoOutput(QGraphicsVideoItem *output)
void setVideoOutput(QAbstractVideoSurface *surface)
void setVideoOutput(const QVector<QAbstractVideoSurface *> &surfaces)
QMediaPlayer::State state() const
QList<QAudio::Role> supportedAudioRoles() const
QStringList supportedCustomAudioRoles() const
int volume() const

Переопределённые общедоступные функции

virtual QMultimedia::AvailabilityStatus availability() const override

Общедоступные слоты

void pause()
void play()
void setMedia(const QMediaContent &media, QIODevice *stream = nullptr)
void setMuted(bool muted)
void setPlaybackRate(qreal rate)
void setPlaylist(QMediaPlaylist *playlist)
void setPosition(qint64 position)
void setVolume(int volume)
void stop()

Сигналы

void доступноАудиоИзменилось(bool available)
void измениласьРольАудио(QAudio::Role role)
void изменилсяСтатусБуфера(int percentFilled)
void изменилосьТекущееМедиа(const QMediaContent &media)
void измениласьПользовательскаяРольАудио(const QString &role)
void измениласьПродолжительность(qint64 duration)
void ошибка(QMediaPlayer::Error error)
void изменилосьМедиа(const QMediaContent &media)
void изменилсяСтатусМедиа(QMediaPlayer::MediaStatus status)
void изменилсяНемые(bool muted)
void измениласьСкоростьВоспроизведения(qreal rate)
void изменилосьПоложение(qint64 position)
void измениласьВозможностьПеремотки(bool seekable)
void изменилосьСостояние(QMediaPlayer::State state)
void доступноВидеоИзменилось(bool videoAvailable)
void изменилсяУровеньГромкости(int volume)

Статические публичные члены

QMultimedia::SupportEstimate имеетПоддержку(const QString &mimeType, const QStringList &codecs = QStringList(), QMediaPlayer::Flags flags = Flags())

Подробное описание

Класс QMediaPlayer — это высокоуровневый класс для воспроизведения медиа. Он может использоваться для воспроизведения таких файлов, как песни, фильмы и интернет-радио. Контент для воспроизведения задаётся объектом QMediaContent, который можно рассматривать как основной или канонический URL с дополнительной информацией. При предоставлении QMediaContent воспроизведение может начаться.

player = new QMediaPlayer;
connect(player, SIGNAL(positionChanged(qint64)), this, SLOT(positionChanged(qint64)));
player->setMedia(QUrl::fromLocalFile("/Users/me/Music/coolsong.mp3"));
player->setVolume(50);
player->play();

QVideoWidget может использоваться с QMediaPlayer для отображения видео, а QMediaPlaylist — для работы с плейлистами.

playlist = new QMediaPlaylist;
playlist->addMedia(QUrl("http://example.com/movie1.mp4"));
playlist->addMedia(QUrl("http://example.com/movie2.mp4"));
playlist->addMedia(QUrl("http://example.com/movie3.mp4"));
playlist->setCurrentIndex(1);

player = new QMediaPlayer;
player->setPlaylist(playlist);

videoWidget = new QVideoWidget;
player->setVideoOutput(videoWidget);
videoWidget->show();

player->play();

Так как QMediaPlayer является QMediaObject, вы можете использовать несколько функций QMediaObject, например:

  • Доступ к метаданным текущего воспроизводимого медиа (QMediaObject::metaData() и предопределённые ключи метаданных)
  • Проверка доступности службы воспроизведения медиа (QMediaObject::availability())

См. также QMediaObject, QMediaService, QVideoWidget и QMediaPlaylist.

Документация по типам членов

перечисление QMediaPlayer::Error

Определяет условие ошибки медиаплеера.

Константа Значение Описание
QMediaPlayer::NoError 0 Ошибка не произошла.
QMediaPlayer::ResourceError 1 Не удалось разрешить медиаресурс.
QMediaPlayer::FormatError 2 Формат медиаресурса не (полностью) поддерживается. Воспроизведение всё ещё может быть возможным, но без аудио или видео компонента.
QMediaPlayer::NetworkError 3 Произошла ошибка сети.
QMediaPlayer::AccessDeniedError 4 Нет соответствующих разрешений для воспроизведения медиаресурса.
QMediaPlayer::ServiceMissingError 5 Не найдена подходящая служба воспроизведения, воспроизведение невозможно.

перечисление QMediaPlayer::Flagфлаги QMediaPlayer::Flags

Константа Значение Описание
QMediaPlayer::LowLatency 0x01 Ожидается, что плеер будет использоваться с простыми аудиоформатами, но воспроизведение должно начинаться без значительной задержки. Такая служба воспроизведения может использоваться для звуковых сигналов, мелодии звонка и т. д.
QMediaPlayer::StreamPlayback 0x02 Ожидается, что плеер будет воспроизводить потоки на основе QIODevice. Если передано в конструктор QMediaPlayer, будет выбрана служба, поддерживающая воспроизведение потоков.
QMediaPlayer::VideoSurface 0x04 Ожидается, что плеер сможет отображать вывод на QAbstractVideoSurface.

Тип Flags является типом-синонимом для QFlags<Flag>. Он хранит логическое ИЛИ сочетание значений Flag.

перечисление QMediaPlayer::MediaStatus

Определяет состояние текущего медиа медиаплеера.

Константа Значение Описание
QMediaPlayer::UnknownMediaStatus 0 Статус медиа определить нельзя.
QMediaPlayer::NoMedia 1 Текущее медиа отсутствует. Плеер находится в состоянии Остановлено.
QMediaPlayer::LoadingMedia 2 Текущее медиа загружается. Плеер может находиться в любом состоянии.
QMediaPlayer::LoadedMedia 3 Текущее медиа загружено. Плеер находится в состоянии Остановлено.
QMediaPlayer::StalledMedia 4 Воспроизведение текущего медиа приостановлено из-за недостаточного буферизации или других временных прерываний. Плеер находится в состоянии Воспроизведение или Пауза.
QMediaPlayer::BufferingMedia 5 Плеер буферизует данные, но имеет достаточно данных для продолжения воспроизведения в ближайшем будущем. Плеер находится в состоянии Воспроизведение или Пауза.
QMediaPlayer::BufferedMedia 6 Плеер полностью буферизовал текущее медиа. Плеер находится в состоянии Воспроизведение или Пауза.
QMediaPlayer::EndOfMedia 7 Воспроизведение достигло конца текущего медиа. Плеер находится в состоянии Остановлено.
QMediaPlayer::InvalidMedia 8 Текущее медиа не может быть воспроизведено. Плеер находится в состоянии Остановлено.

перечисление QMediaPlayer::State

Определяет текущее состояние медиаплеера.

Константа Значение Описание
QMediaPlayer::StoppedState 0 Устройство воспроизведения медиа не воспроизводит контент, воспроизведение начнется с начала текущего трека.
QMediaPlayer::PlayingState 1 Устройство воспроизведения медиа в данный момент воспроизводит контент.
QMediaPlayer::PausedState 2 Устройство воспроизведения медиа приостановило воспроизведение, воспроизведение текущего трека возобновится с позиции, на которой оно было приостановлено.

Документация свойств

audioAvailable : const bool

Это свойство содержит статус доступности аудио для текущего медиа.

Так как срок жизни объекта QMediaPlayer может быть длиннее, чем воспроизведение одного QMediaContent, это свойство может изменяться со временем. Сигнал audioAvailableChanged может использоваться для отслеживания его статуса.

Функции доступа:

bool isAudioAvailable() const

Сигнал уведомления:

void audioAvailableChanged(bool available)

audioRole : QAudio::Role

Это свойство содержит роль аудиопотока, воспроизводимого медиаплером.

Его можно установить, чтобы указать тип воспроизводимого аудио, позволяя системе принимать соответствующие решения относительно громкости, маршрутизации или пост-обработки.

Роль аудио должна быть установлена перед вызовом setMedia().

customAudioRole очищается, когда это свойство устанавливается на значение, отличное от QAudio::CustomRole.

Это свойство было добавлено в Qt 5.6.

Функции доступа:

QAudio::Role audioRole() const
void setAudioRole(QAudio::Role audioRole)

Сигнал уведомления:

void audioRoleChanged(QAudio::Role role)

См. также supportedAudioRoles().

bufferStatus : const int

Это свойство содержит процент заполнения временного буфера перед началом или возобновлением воспроизведения, от 0 (пустого) до 100 (полного).

Когда объект плеера буферизует данные, это свойство содержит процент заполнения временного буфера. Буфер должен быть заполнен на 100%, прежде чем воспроизведение может начаться или возобновиться, в этот момент mediaStatus() вернёт BufferedMedia или BufferingMedia. Если значение меньше 100, mediaStatus() вернёт StalledMedia.

Функции доступа:

int bufferStatus() const

Сигнал уведомления:

void bufferStatusChanged(int percentFilled)

См. также mediaStatus().

currentMedia : const QMediaContent

Это свойство содержит текущее активное медиасодержимое, воспроизводимое объектом плеера. Это значение может отличаться от свойства QMediaPlayer::media, если используется список воспроизведения. В этом случае currentMedia указывает на текущее медиасодержимое, обрабатываемое плеером, в то время как свойство QMediaPlayer::media содержит исходный список воспроизведения.

Функции доступа:

QMediaContent currentMedia() const

Сигнал уведомления:

void currentMediaChanged(const QMediaContent &media)

См. также QMediaContent и media().

customAudioRole : QString

Это свойство содержит роль аудиопотока, воспроизводимого медиаплером.

Его можно установить для указания типа аудио, когда бэкенд поддерживает роли аудио, неизвестные Qt. Указание роли позволяет системе принимать соответствующие решения относительно громкости, маршрутизации или пост-обработки.

Роль аудио должна быть установлена перед вызовом setMedia().

audioRole устанавливается в QAudio::CustomRole, когда это свойство устанавливается.

Это свойство было добавлено в Qt 5.11.

Функции доступа:

QString customAudioRole() const
void setCustomAudioRole(const QString &audioRole)

Сигнал уведомления:

void customAudioRoleChanged(const QString &role)

См. также supportedCustomAudioRoles().

duration : const qint64

Это свойство содержит длительность текущего медиа.

Значение представляет собой общее время воспроизведения текущего медиа в миллисекундах. Значение может изменяться в течение жизни объекта QMediaPlayer и может быть недоступно при начальном запуске воспроизведения. Подключитесь к сигналу durationChanged() для получения уведомлений о статусе.

Функции доступа:

qint64 duration() const

Сигнал уведомления:

void durationChanged(qint64 duration)

error : const QString

Это свойство содержит строку, описывающую последнее состояние ошибки.

Функции доступа:

QString errorString() const

См. также error().

media : QMediaContent

Это свойство содержит активный источник медиа, используемый объектом плеера.

Объект плеера будет использовать QMediaContent для выбора содержимого для воспроизведения.

По умолчанию это свойство содержит нулевой QMediaContent.

Установка этого свойства в нулевой QMediaContent заставит плеер сбросить всю информацию, относящуюся к текущему источнику медиа, и прекратить все операции ввода-вывода, связанные с этим медиа.

Функции доступа:

QMediaContent media() const
void setMedia(const QMediaContent &media, QIODevice *stream = nullptr)

Сигнал уведомления:

void mediaChanged(const QMediaContent &media)

См. также QMediaContent и currentMedia().

mediaStatus : const MediaStatus

Это свойство содержит статус текущего медиапотока.

Статус потока описывает, как прогрессирует воспроизведение текущего потока.

По умолчанию это свойство равно QMediaPlayer::NoMedia

Функции доступа:

QMediaPlayer::MediaStatus mediaStatus() const

Сигнал уведомления:

void mediaStatusChanged(QMediaPlayer::MediaStatus status)

См. также state.

muted : bool

Это свойство содержит состояние приглушения текущего медиа.

Значение будет истинным, если громкость воспроизведения приглушена, иначе ложным.

Функции доступа:

bool isMuted() const
void setMuted(bool muted)

Сигнал нотификации:

void mutedChanged(bool muted)

playbackRate : qreal

Это свойство содержит скорость воспроизведения текущего медиа.

Это значение является множителем, применяемым к стандартной скорости воспроизведения медиа. По умолчанию это значение равно 1.0, что указывает на воспроизведение медиа со стандартной скоростью. Значения, большие чем 1.0, увеличат скорость воспроизведения. Значения меньше нуля могут быть установлены и указывают на то, что медиа должно быть перемотано назад с множителем стандартной скорости.

Не все службы воспроизведения поддерживают изменение скорости воспроизведения. Статус и качество аудио и видео при быстрой перемотке вперед или назад определяются в рамках фреймворка.

Функции доступа:

qreal playbackRate() const
void setPlaybackRate(qreal rate)

Сигнал нотификации:

void playbackRateChanged(qreal rate)

playlist : QMediaPlaylist*

Это свойство содержит список воспроизведения медиа, используемый объектом плеера.

Объект плеера будет использовать текущий элемент списка воспроизведения для выбора контента, который будет воспроизводиться.

По умолчанию это свойство установлено в значение null.

Если список воспроизведения используется в качестве источника, QMediaPlayer::currentMedia обновляется с текущим элементом списка воспроизведения. Текущий источник должен быть выбран с помощью QMediaPlaylist::setCurrentIndex(int), а не QMediaPlayer::setMedia(), иначе текущий список воспроизведения будет отброшен.

Функции доступа:

QMediaPlaylist * playlist() const
void setPlaylist(QMediaPlaylist *playlist)

См. также QMediaContent.

position : qint64

Это свойство содержит позицию воспроизведения текущего медиа.

Значение — текущая позиция воспроизведения, выраженная в миллисекундах с начала медиа. Периодические изменения позиции будут указаны сигналом positionChanged(), интервал между обновлениями может быть задан методом QMediaObject's setNotifyInterval().

Функции доступа:

qint64 position() const
void setPosition(qint64 position)

Сигнал нотификации:

void positionChanged(qint64 position)

seekable : const bool

Это свойство содержит статус возможности перемотки для текущего медиа.

Если перемотка поддерживается, это свойство будет true; в противном случае — false. Статус этого свойства может изменяться на протяжении жизненного цикла объекта QMediaPlayer, используйте сигнал seekableChanged для отслеживания изменений.

Функции доступа:

bool isSeekable() const

Сигнал нотификации:

void seekableChanged(bool seekable)

state : const State

Это свойство содержит состояние воспроизведения медиаплеера.

По умолчанию это свойство имеет значение QMediaPlayer::Stopped

Функции доступа:

QMediaPlayer::State state() const

Сигнал нотификации:

void stateChanged(QMediaPlayer::State state)

См. также mediaStatus(), play(), pause() и stop().

videoAvailable : const bool

Это свойство содержит статус доступности видео для текущего медиа.

Если видео доступно, класс QVideoWidget может быть использован для его просмотра. Так как жизненный цикл QMediaPlayer может быть длиннее, чем воспроизведение одного QMediaContent, это свойство может изменяться со временем, для отслеживания изменений можно использовать сигнал videoAvailableChanged.

Функции доступа:

bool isVideoAvailable() const

Сигнал нотификации:

void videoAvailableChanged(bool videoAvailable)

См. также QVideoWidget и QMediaContent.

volume : int

Это свойство содержит текущий уровень громкости.

Уровень громкости масштабируется линейно, изменяясь от 0 (тишина) до 100 (полная громкость). Значения вне этого диапазона будут ограничены.

По умолчанию громкость равна 100.

Элементы управления громкостью в пользовательском интерфейсе обычно должны масштабироваться нелинейно. Например, использование логарифмической шкалы обеспечит линейные изменения в воспринимаемой громкости, что обычно ожидается от элемента управления громкостью. Дополнительную информацию см. в QAudio::convertVolume().

Функции доступа:

int volume() const
void setVolume(int volume)

Сигнал нотификации:

void volumeChanged(int volume)

Документация по членам-функциям

QMediaPlayer::QMediaPlayer(QObject *parent = nullptr, QMediaPlayer::Flags flags = Flags())

Создает экземпляр QMediaPlayer, связанный с parent и с флагами flags.

[signal] void QMediaPlayer::audioAvailableChanged(bool available)

Сигнализирует об изменении доступности аудиоконтента на available.

Примечание: Сигнал нотификации для свойства audioAvailable.

[signal] void QMediaPlayer::audioRoleChanged(QAudio::Role role)

Сигнализирует о том, что роль аудио role медиаплеера изменилась.

Примечание: Сигнал нотификации для свойства audioRole.

Данная функция была добавлена в Qt 5.6.

[signal] void QMediaPlayer::bufferStatusChanged(int percentFilled)

Сигнализирует о заполненности локального буфера в процентах, percentFilled.

Примечание: Сигнал нотификации для свойства bufferStatus.

[signal] void QMediaPlayer::currentMediaChanged(const QMediaContent &media)

Сигнализирует об изменении текущего воспроизводимого контента на media.

Примечание: Сигнал нотификации для свойства currentMedia.

См. также currentMedia() и mediaChanged().

[signal] void QMediaPlayer::customAudioRoleChanged(const QString &role)

Сигнализирует о том, что роль аудио role медиаплеера изменилась.

Примечание: Сигнал нотификации для свойства customAudioRole.

Данная функция была добавлена в Qt 5.11.

[signal] void QMediaPlayer::durationChanged(qint64 duration)

Сигнал, что продолжительность содержимого изменилась на duration, выраженную в миллисекундах.

Примечание: Сигнал-уведомитель для свойства duration.

[signal] void QMediaPlayer::error(QMediaPlayer::Error error)

Сигнализирует о возникновении условия error.

Примечание: Сигнал error перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобную вспомогательную функцию для получения указателя на функцию, как показано в этом примере:

connect(mediaPlayer, QOverload<QMediaPlayer::Error>::of(&QMediaPlayer::error),
    [=](QMediaPlayer::Error error){ /* ... */ });

См. также errorString().

[signal] void QMediaPlayer::mediaChanged(const QMediaContent &media)

Сигнализирует о том, что источник медиа был изменён на media.

Примечание: Сигнал-уведомитель для свойства media.

См. также media() и currentMediaChanged().

[signal] void QMediaPlayer::mediaStatusChanged(QMediaPlayer::MediaStatus status)

Сигнализирует о том, что состояние текущей медиа изменилось на status.

Примечание: Сигнал-уведомитель для свойства mediaStatus.

См. также mediaStatus().

[signal] void QMediaPlayer::mutedChanged(bool muted)

Сигнал, что состояние приглушения изменилось на muted.

Примечание: Сигнал-уведомитель для свойства muted.

[slot] void QMediaPlayer::pause()

Приостановить воспроизведение текущего источника.

[slot] void QMediaPlayer::play()

Запустить или продолжить воспроизведение текущего источника.

[signal] void QMediaPlayer::playbackRateChanged(qreal rate)

Сигнализирует о том, что скорость воспроизведения изменилась на rate.

Примечание: Сигнал-уведомитель для свойства playbackRate.

[signal] void QMediaPlayer::positionChanged(qint64 position)

Сигнал, что позиция содержимого изменилась на position, выраженную в миллисекундах.

Примечание: Сигнал-уведомитель для свойства position.

[signal] void QMediaPlayer::seekableChanged(bool seekable)

Сигнализирует о том, что статус возможности поиска в объекте-плеере изменился на seekable.

Примечание: Сигнал-уведомитель для свойства seekable.

[slot] void QMediaPlayer::setMedia(const QMediaContent &media, QIODevice *stream = nullptr)

Устанавливает текущий источник media.

Если указан stream, данные медиа будут считываться из него вместо разрешения источника медиа. В этом случае URL должен быть предоставлен для разрешения дополнительной информации о медиа, такой как тип MIME. Поток stream должен быть открытым и доступным для чтения. Для macOS stream также должен быть доступен для поиска.

Установка медиа в значение null QMediaContent заставит плеер отбросить всю информацию, связанную с текущим источником медиа, и прекратить все операции ввода-вывода, связанные с этой медиа.

Примечание: Эта функция возвращает немедленно после записи указанного источника медиа. Она не ожидает завершения загрузки медиа и не проверяет наличие ошибок. Слушайте сигналы mediaStatusChanged() и error(), чтобы получать уведомления о загрузке медиа и об ошибках, возникших во время загрузки.

Начиная с Qt 5.12.2, схема URL gst-pipeline предоставляет пользовательские конвейеры для бэкенда GStreamer.

player = new QMediaPlayer;
player->setMedia(QUrl("gst-pipeline: videotestsrc ! autovideosink"));
player->play();

Если используется QAbstractVideoSurface в качестве видеовывода, qtvideosink может быть использован как элемент видеоприёмника напрямую в конвейере. После этого поверхность будет получать видеокадры в QAbstractVideoSurface::present().

class Surface : public QAbstractVideoSurface
{
public:
    Surface(QObject *p) : QAbstractVideoSurface(p) { }
    QList<QVideoFrame::PixelFormat> supportedPixelFormats(QAbstractVideoBuffer::HandleType) const override
    {
        // Make sure that the driver supports this pixel format.
        return QList<QVideoFrame::PixelFormat>() << QVideoFrame::Format_YUYV;
    }

    // Video frames are handled here.
    bool present(const QVideoFrame &) override { return true; }
};

player = new QMediaPlayer;
player->setVideoOutput(new Surface(player));
player->setMedia(QUrl("gst-pipeline: videotestsrc ! qtvideosink"));
player->play();

Если в качестве видеовывода используется QVideoWidget, а конвейер содержит элемент видеоприёмника с именем qtvideosink, текущий QVideoWidget будет использован для рендеринга видео.

player = new QMediaPlayer;
videoWidget = new QVideoWidget;
videoWidget->show();
player->setVideoOutput(videoWidget);
player->setMedia(QUrl("gst-pipeline: videotestsrc ! xvimagesink name=\"qtvideosink\""));
player->play();

Если конвейер содержит элемент appsrc, он будет использоваться для отправки данных из stream.

QImage img("images/qt-logo.png");
img = img.convertToFormat(QImage::Format_ARGB32);
QByteArray ba(reinterpret_cast<const char *>(img.bits()), img.sizeInBytes());
QBuffer buffer(&ba);
buffer.open(QIODevice::ReadOnly);
player = new QMediaPlayer;
player->setMedia(QUrl("gst-pipeline: appsrc blocksize=4294967295 ! \
    video/x-raw,format=BGRx,framerate=30/1,width=200,height=147 ! \
    coloreffects preset=heat ! videoconvert ! video/x-raw,format=I420 ! jpegenc ! rtpjpegpay ! \
    udpsink host=127.0.0.1 port=5000"), &buffer);
player->play();

QMediaPlayer *receiver = new QMediaPlayer;
videoWidget = new QVideoWidget;
receiver->setVideoOutput(videoWidget);
receiver->setMedia(QUrl("gst-pipeline: udpsrc port=5000 ! \
    application/x-rtp,encoding-name=JPEG,payload=26 ! rtpjpegdepay ! jpegdec ! \
    xvimagesink name=qtvideosink"));
receiver->play();
// Content will be shown in this widget.
videoWidget->show();

Примечание: Функция-установщик для свойства media.

См. также media().

[signal] void QMediaPlayer::stateChanged(QMediaPlayer::State state)

Сигнализирует о том, что состояние объекта-плеера изменилось на state.

Примечание: Сигнал-уведомитель для свойства state.

[slot] void QMediaPlayer::stop()

Остановить воспроизведение и сбросить позицию воспроизведения к началу.

[signal] void QMediaPlayer::videoAvailableChanged(bool videoAvailable)

Сигнализирует о том, что доступность визуального содержимого изменилась на videoAvailable.

Примечание: Сигнал-уведомитель для свойства videoAvailable.

[signal] void QMediaPlayer::volumeChanged(int volume)

Сигнализирует о том, что громкость воспроизведения изменилась на volume.

Примечание: Сигнал-уведомитель для свойства volume.

[virtual] QMediaPlayer::~QMediaPlayer()

Уничтожает объект плеера.

[override virtual] QMultimedia::AvailabilityStatus QMediaPlayer::availability() const

Переопределяет: QMediaObject::availability() const.

QMediaPlayer::Error QMediaPlayer::error() const

Возвращает текущее состояние ошибки.

[static] QMultimedia::SupportEstimate QMediaPlayer::hasSupport(const QString &mimeType, const QStringList &codecs = QStringList(), QMediaPlayer::Flags flags = Flags())

Возвращает уровень поддержки медиаплеером для mimeType и набора codecs.

Аргумент flags позволяет указать дополнительные требования, такие как показатели производительности.

const QIODevice *QMediaPlayer::mediaStream() const

Возвращает источник потока данных медиа.

Это допустимо только в том случае, если поток был передан в setMedia().

См. также setMedia().

void QMediaPlayer::setVideoOutput(QVideoWidget *output)

Присоединить QVideoWidget видео output к медиаплеера.

Если медиаплейер уже имеет подключенный видеовыход, он будет заменён новым.

void QMediaPlayer::setVideoOutput(QGraphicsVideoItem *output)

Присоединить QGraphicsVideoItem видео output к медиаплеера.

Если медиаплейер уже имеет подключенный видеовыход, он будет заменён новым.

void QMediaPlayer::setVideoOutput(QAbstractVideoSurface *surface)

Устанавливает видео surface в качестве видеовыхода медиаплеера.

Если видеовыход уже установлен для медиаплеера, новая поверхность его заменит.

void QMediaPlayer::setVideoOutput(const QVector<QAbstractVideoSurface *> &surfaces)

Устанавливает несколько видеоповерхностей в качестве видеовыхода медиаплеера. Это позволяет медиаплеера отображать видеокадры на разных поверхностях.

Все видеоповерхности должны поддерживать по крайней мере одну общую QVideoFrame::PixelFormat.

Если видеовыход уже установлен для медиаплеера, новые поверхности его заменят.

Эта функция была добавлена в Qt 5.15.

См. также QAbstractVideoSurface::supportedPixelFormats.

QList<QAudio::Role> QMediaPlayer::supportedAudioRoles() const

Возвращает список поддерживаемых ролей аудио.

Если назначение роли аудио не поддерживается, возвращается пустой список.

Эта функция была добавлена в Qt 5.6.

См. также audioRole.

QStringList QMediaPlayer::supportedCustomAudioRoles() const

Возвращает список поддерживаемых пользовательских ролей аудио. Пустой список может указывать на то, что поддерживаемые пользовательские роли аудио неизвестны. Список может быть неполным.

Эта функция была добавлена в Qt 5.11.

См. также customAudioRole.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qmediaplayer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API