Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
androidmediarecorder_p.h
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef ANDROIDMEDIARECORDER_H
5#define ANDROIDMEDIARECORDER_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <qobject.h>
19#include <QtCore/qjniobject.h>
20#include <qsize.h>
21
23
24class AndroidCamera;
27
29{
30public:
41
56
57 static bool hasProfile(jint cameraId, Quality quality);
58 static AndroidCamcorderProfile get(jint cameraId, Quality quality);
59 int getValue(Field field) const;
60
61private:
62 AndroidCamcorderProfile(const QJniObject &camcorderProfile);
63 QJniObject m_camcorderProfile;
64};
65
67{
69public:
78
88
96
101
112
115
116 void release();
117 bool prepare();
118 void reset();
119
120 bool start();
121 void stop();
122
123 void setAudioChannels(int numChannels);
124 void setAudioEncoder(AudioEncoder encoder);
125 void setAudioEncodingBitRate(int bitRate);
126 void setAudioSamplingRate(int samplingRate);
127 void setAudioSource(AudioSource source);
128 bool isAudioSourceSet() const;
129 bool setAudioInput(const QByteArray &id);
130
131 void setCamera(AndroidCamera *camera);
132 void setVideoEncoder(VideoEncoder encoder);
133 void setVideoEncodingBitRate(int bitRate);
134 void setVideoFrameRate(int rate);
135 void setVideoSize(const QSize &size);
136 void setVideoSource(VideoSource source);
137
138 void setOrientationHint(int degrees);
139
140 void setOutputFormat(OutputFormat format);
141 void setOutputFile(const QString &path);
142
145
146 static bool registerNativeMethods();
147
149 void error(int what, int extra);
150 void info(int what, int extra);
151
152private:
153 jlong m_id;
154 QJniObject m_mediaRecorder;
155 bool m_isAudioSourceSet = false;
156 bool m_isVideoSourceSet = false;
157};
158
159QT_END_NAMESPACE
160
161#endif // ANDROIDMEDIARECORDER_H
static QRect adjustedArea(const QRectF &area)
QCamera * camera
int getValue(Field field) const
static bool hasProfile(jint cameraId, Quality quality)
static AndroidCamcorderProfile get(jint cameraId, Quality quality)
void setExposureCompensation(int value)
int getMinExposureCompensation()
int getMaxExposureCompensation()
void setZoom(int value)
bool setAudioInput(const QByteArray &id)
void setCamera(AndroidCamera *camera)
void setAudioEncodingBitRate(int bitRate)
void setVideoEncoder(VideoEncoder encoder)
void setAudioChannels(int numChannels)
void setOutputFormat(OutputFormat format)
void setOrientationHint(int degrees)
void setAudioSamplingRate(int samplingRate)
void setAudioEncoder(AudioEncoder encoder)
void setVideoEncodingBitRate(int bitRate)
void setOutputFile(const QString &path)
void setVideoSize(const QSize &size)
void info(int what, int extra)
void setVideoSource(VideoSource source)
void setSurfaceTexture(AndroidSurfaceTexture *texture)
void setSurfaceHolder(AndroidSurfaceHolder *holder)
void setAudioSource(AudioSource source)
QAndroidVideoOutput * videoOutput() const
void setVideoSink(QVideoSink *surface)
void imageMetadataAvailable(int id, const QMediaMetaData &key)
void setImageSettings(const QImageEncoderSettings &settings)
void imageCaptured(int id, const QImage &preview)
void error(int error, const QString &errorString)
QList< AndroidCamera::FpsRange > getSupportedPreviewFpsRange() const
void setCameraFormat(const QCameraFormat &format)
int capture(const QString &fileName)
void readyForCaptureChanged(bool)
void imageCaptureError(int id, int error, const QString &errorString)
void setVideoOutput(QAndroidVideoOutput *output)
QImageEncoderSettings imageSettings() const
void imageAvailable(int id, const QVideoFrame &buffer)
void setSelectedCameraId(int cameraId)
void applyResolution(const QSize &captureSize=QSize(), bool restartPreview=true)
AndroidCamera * camera() const
QList< QVideoFrameFormat::PixelFormat > getSupportedPixelFormats() const
QList< QSize > getSupportedPreviewSizes() const
void setKeepAlive(bool keepAlive)
void imageSaved(int id, const QString &fileName)
static const QList< QCameraDevice > & availableCameras()
void setPreviewFormat(AndroidCamera::ImageFormat format)
void imageExposed(int id)
void setPreviewCallback(PreviewCallback *callback)
void setCaptureSession(QPlatformMediaCaptureSession *session) override
void setExposureCompensation(float bias) override
void setFocusMode(QCamera::FocusMode mode) override
void setExposureMode(QCamera::ExposureMode mode) override
bool isTorchModeSupported(QCamera::TorchMode mode) const override
void setFlashMode(QCamera::FlashMode mode) override
bool isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const override
void zoomTo(float factor, float rate) override
void setCamera(const QCameraDevice &camera) override
bool isFocusModeSupported(QCamera::FocusMode mode) const override
bool setCameraFormat(const QCameraFormat &format) override
bool isFlashReady() const override
void setWhiteBalanceMode(QCamera::WhiteBalanceMode mode) override
bool isFlashModeSupported(QCamera::FlashMode mode) const override
virtual ~QAndroidCamera()
void setActive(bool active) override
bool isActive() const override
bool isExposureModeSupported(QCamera::ExposureMode mode) const override
void setTorchMode(QCamera::TorchMode mode) override
void stateChanged(QMediaRecorder::RecorderState state)
QList< QSize > supportedResolutions() const
QMediaEncoderSettings encoderSettings()
void start(QMediaEncoderSettings &settings, const QUrl &outputLocation)
void actualLocationChanged(const QUrl &location)
void setAudioInput(QPlatformAudioInput *input)
void setAudioOutput(QPlatformAudioOutput *output)
void durationChanged(qint64 position)
QList< qreal > supportedFrameRates() const
void updateError(int error, const QString &errorString)
void setMediaEncoder(QAndroidMediaEncoder *encoder)
void setCameraSession(QAndroidCameraSession *cameraSession=0)
QAndroidCaptureSession * captureSession() const
QAndroidCameraSession * cameraSession() const
The QCamera class provides interface for system camera devices.
Definition qcamera.h:25
\inmodule QtCore
Definition qsize.h:27
Combined button and popup list for selecting options.
virtual void onFrameAvailable(const QVideoFrame &frame)=0