Spec-Zone.ru › Qt 5.6

Класс QMediaPlayer

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

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

Открытые типы

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

Свойства

  • audioAvailable : const bool
  • audioRole : QAudio::Role
  • bufferStatus : const int
  • currentMedia : const QMediaContent
  • 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
  • 1 свойство унаследовано от QMediaObject
  • 1 свойство унаследовано от QObject

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

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

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

virtual QMultimedia::AvailabilityStatus availability() const
  • 10 общедоступных функций, унаследованных от QMediaObject
  • 31 общедоступных функций, унаследованных от QObject

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

void pause()
void play()
void setMedia(const QMediaContent &media, QIODevice *stream = Q_NULLPTR)
void setMuted(bool muted)
void setNetworkConfigurations(const QList<QNetworkConfiguration> &configurations)
void setPlaybackRate(qreal rate)
void setPlaylist(QMediaPlaylist *playlist)
void setPosition(qint64 position)
void setVolume(int volume)
void stop()
  • 1 общедоступный слот, унаследованный от QObject

Сигналы

void audioAvailableChanged(bool available)
void audioRoleChanged(QAudio::Role role)
void bufferStatusChanged(int percentFilled)
void currentMediaChanged(const QMediaContent &media)
void durationChanged(qint64 duration)
void error(QMediaPlayer::Error error)
void mediaChanged(const QMediaContent &media)
void mediaStatusChanged(QMediaPlayer::MediaStatus status)
void mutedChanged(bool muted)
void networkConfigurationChanged(const QNetworkConfiguration &configuration)
void playbackRateChanged(qreal rate)
void positionChanged(qint64 position)
void seekableChanged(bool seekable)
void stateChanged(QMediaPlayer::State state)
void videoAvailableChanged(bool videoAvailable)
void volumeChanged(int volume)
  • 6 сигналов унаследовано от QMediaObject
  • 2 сигнала унаследовано от QObject

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

QMultimedia::SupportEstimate hasSupport(const QString &mimeType, const QStringList &codecs = QStringList(), Flags flags = Flags())
  • 11 статических публичных членов унаследовано от QObject

Дополнительные унаследованные члены

  • 2 защищённых функции унаследовано от QMediaObject
  • 9 защищённых функций унаследовано от QObject

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

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

Класс 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 — это typedef для QFlags<Flag>. Он хранит логическое ИЛИ комбинацию значений Flag.

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

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

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

перечисление 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().

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

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

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

См. также 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().

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 = Q_NULLPTR)

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

void mediaChanged(const QMediaContent &media)

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

mediaStatus : const MediaStatus

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

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

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

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

MediaStatus mediaStatus() const

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

void mediaStatusChanged(QMediaPlayer::MediaStatus status)

См. также state.

muted : bool

Это свойство хранит состояние отключения звука текущего медиафайла.

Значение будет равно true, если громкость воспроизведения отключена; в противном случае false.

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

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.

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

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. Значения вне этого диапазона будут ограничены.

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

int volume() const
void setVolume(int volume)

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

void volumeChanged(int volume)

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

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

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

QMediaPlayer::~QMediaPlayer()

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

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

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

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

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

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

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

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

Переопределено из QMediaObject::availability().

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

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

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

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

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

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

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

QNetworkConfiguration QMediaPlayer::currentNetworkConfiguration() const

Возвращает текущую точку доступа к сети, используемую в настоящее время. Если возвращается по умолчанию сконструированная QNetworkConfiguration, эта функция недоступна или ни одна из текущих предоставленных конфигураций не используется.

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

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

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

Error QMediaPlayer::error() const

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

const QIODevice *QMediaPlayer::mediaStream() const

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

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

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

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

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

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

[signal] void QMediaPlayer::networkConfigurationChanged(const QNetworkConfiguration &configuration)

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

[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 = Q_NULLPTR)

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

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

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

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

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

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

[slot] void QMediaPlayer::setNetworkConfigurations(const QList<QNetworkConfiguration> &configurations)

Устанавливает сетевые точки доступа для воспроизведения удалённого медиа. configurations содержит, в порядке возрастания приоритета, список конфигураций, которые могут использоваться для сетевого доступа.

Это аннулирует выбор предыдущих конфигураций.

void QMediaPlayer::setVideoOutput(QVideoWidget *output)

Присоединяет видео QVideoWidget output к проигрывателю медиа.

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

void QMediaPlayer::setVideoOutput(QGraphicsVideoItem *output)

Присоединяет видео QGraphicsVideoItem output к проигрывателю медиа.

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

void QMediaPlayer::setVideoOutput(QAbstractVideoSurface *surface)

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

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

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

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

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

[slot] void QMediaPlayer::stop()

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

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

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

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

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

См. также audioRole.

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

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

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

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

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

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

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

Spec-Zone.ru

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