Тип QML MediaRecorder
Для кодирования и записи медиаданных, сгенерированных в CaptureSession. Подробнее...
| Оператор импорта: | import QtMultimedia |
| Создает: | QMediaRecorder |
Свойства
- actualLocation : QUrl
- duration : qint64
- error : перечисление
- errorString : строка
- isAvailable : bool
- mediaFormat : MediaFormat
- metaData : mediaMetaData
- outputLocation : QUrl
- quality : перечисление
- recorderState : перечисление
Сигналы
- actualLocationChanged(const QUrl &location)
- durationChanged(qint64 duration)
- errorOccurred(Error error, const QString &errorString)
- metaDataChanged()
- recorderStateChanged(RecorderState state)
Методы
Подробное описание
Элемент MediaRecorder может использоваться в CaptureSession для записи и кодирования аудио и видео, полученных с микрофона и камеры
Ниже приведен пример сеанса захвата, содержащего MediaRecorder с использованием стандартной камеры и стандартного аудиовхода.
CaptureSession {
id: captureSession
camera: Camera {
id: camera
}
audioInput: AudioInput {}
recorder: MediaRecorder {
id: recorder
}
} Пример ниже демонстрирует, как начать и остановить запись.
CameraButton {
text: "Record"
visible: recorder.status !== MediaRecorder.RecordingStatus
onClicked: recorder.record()
}
CameraButton {
id: stopButton
text: "Stop"
visible: recorder.status === MediaRecorder.RecordingStatus
onClicked: recorder.stop()
} См. также CaptureSession, Camera, AudioInput и ImageCapture.
Документация по свойствам
actualLocation : QUrl
Фактическое расположение последнего медиаконтента.
Фактическое расположение обычно доступно после начала записи и сбрасывается при установке нового расположения или начале новой записи.
duration : qint64
Это свойство содержит длительность записанного медиа в миллисекундах.
error : перечисление
Это свойство содержит текущее состояние ошибки медиа-регистратора.
| Константа | Описание |
|---|---|
MediaRecorder.NoError |
Нет состояния ошибки. |
MediaRecorder.ResourceError |
Недостаточно системных ресурсов |
MediaRecorder.FormatError |
Текущий формат не поддерживается. |
MediaRecorder.OutOfSpaceError |
На устройстве закончилось место. |
MediaRecorder.LocationNotWriteable |
Расположение вывода недоступно для записи. |
errorString : строка
Это свойство содержит строку, описывающую текущее состояние ошибки.
См. также error.
isAvailable : bool
Это свойство указывает, готов ли сервис регистратора медиа к использованию.
Возвращает true если служба медиа-регистратора готова к использованию.
mediaFormat : MediaFormat
Это свойство содержит текущий MediaFormat регистратора.
metaData : mediaMetaData
Это свойство содержит метаданные, связанные с записью.
При запуске записи любые присвоенные метаданные будут присоединены к этой записи.
Примечание: Убедитесь, что метаданные назначены правильно, назначив их до начала записи.
См. также mediaMetaData.
outputLocation : QUrl
Расположение назначения медиаконтента.
Установка расположения может завершиться ошибкой, например, если служба поддерживает только локальные расположения файловой системы, а был передан URL-адрес сети. Если операция завершится ошибкой, выводится сигнал errorOccured().
Расположение может быть относительным или пустым. Если оно пустое, регистратор использует специфичный для системы способ определения местоположения и именования файлов.
См. также errorOccurred().
quality : перечисление
Перечисляет уровни качества кодирования.
| Константа | Значение |
|---|---|
MediaRecorder.VeryLowQuality | |
MediaRecorder.LowQuality | |
MediaRecorder.NormalQuality | |
MediaRecorder.HighQuality | |
MediaRecorder.VeryHighQuality |
recorderState : перечисление
Это свойство содержит текущее состояние медиа-регистратора.
Свойство state представляет запрос пользователя и изменяется синхронно во время вызовов record(), pause() или stop(). RecorderSstate также может асинхронно изменяться при сбоях записи.
| Константа | Описание |
|---|---|
MediaRecorder.StoppedState |
Регистратор не активен. |
MediaRecorder.RecordingState |
Запись запрошена. |
MediaRecorder.PausedState |
Регистратор приостановлен. |
Документация по сигналам
actualLocationChanged(const QUrl &location)
Сигнализирует, что фактическое расположение записанного медиа изменилось.
Этот сигнал обычно вызывается при запуске записи.
Примечание: Соответствующий обработчик — onActualLocationChanged.
durationChanged(qint64 duration)
Сигнализирует, что длительность записанного медиа изменилась.
Примечание: Соответствующий обработчик — onDurationChanged.
errorOccurred(Error error, const QString &errorString)
Сигнализирует о возникновении ошибки.
errorString содержит описание ошибки.
Примечание: Соответствующий обработчик — onErrorOccurred.
metaDataChanged()
Сигнализирует о том, что метаданные объекта медиа изменились.
Если изменяется несколько элементов метаданных, metaDataChanged() вызывается один раз.
Примечание: Соответствующий обработчик — onMetaDataChanged.
recorderStateChanged(RecorderState state)
Сигнализирует о том, что состояние медиа-регистратора изменилось.
Примечание: Соответствующий обработчик — onRecorderStateChanged.
Документация по методам
pause()
Приостанавливает запись.
Состояние регистратора изменяется на QMediaRecorder.PausedState.
В зависимости от платформы, приостановление записи может быть не поддерживается. В этом случае состояние регистратора не меняется.
record()
Запускает запись.
Хотя состояние регистратора изменяется немедленно на MediaRecorder.RecordingState, запись может начаться асинхронно.
Если запись завершается ошибкой, выводится сигнал error() с состоянием регистратора, сброшенным обратно на QMediaRecorder.StoppedState.
Примечание: На мобильных устройствах запись происходит в ориентации устройства на момент вызова record и заблокирована на время записи. Чтобы избежать артефактов на пользовательском интерфейсе, рекомендуется держать пользовательский интерфейс заблокированным в той же ориентации, что и запись, используя свойство contentOrientation окна, и разблокировать его после завершения записи.
stop()
Останавливает запись.
Состояние регистратора изменяется на QMediaRecorder.StoppedState.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtmultimedia-mediarecorder.html