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
int getValue(Field field) const
static bool hasProfile(jint cameraId, Quality quality)
static AndroidCamcorderProfile get(jint cameraId, Quality quality)
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)
static QString getDefaultMediaDirectory(MediaType type)
static void registerMediaFile(const QString &file)
static void enableOrientationListener(bool enable)
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)
#define qApp
virtual void onFrameAvailable(const QVideoFrame &frame)=0