summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/multimedia/audiodecoder/audiodecoder.cpp24
-rw-r--r--examples/multimedia/audiodecoder/main.cpp10
-rw-r--r--examples/multimedia/declarative-camera/doc/src/declarative-camera.qdoc1
-rw-r--r--examples/multimedia/video/qmlvideo/Info.plist26
-rw-r--r--examples/multimedia/video/qmlvideo/main.cpp21
-rw-r--r--examples/multimedia/video/qmlvideo/qml/qmlvideo/VideoItem.qml2
-rw-r--r--examples/multimedia/video/qmlvideo/qmlvideo.pro6
-rw-r--r--examples/multimedia/video/qmlvideofx/main.cpp21
-rw-r--r--examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ContentVideo.qml2
-rw-r--r--examples/multimedia/video/qmlvideofx/qmlvideofx.pro4
-rw-r--r--examples/multimediawidgets/camera/doc/src/camera.qdoc1
-rw-r--r--examples/multimediawidgets/customvideosurface/customvideoitem/videoplayer.cpp4
12 files changed, 101 insertions, 21 deletions
diff --git a/examples/multimedia/audiodecoder/audiodecoder.cpp b/examples/multimedia/audiodecoder/audiodecoder.cpp
index 86904f7c9..f812fd3b6 100644
--- a/examples/multimedia/audiodecoder/audiodecoder.cpp
+++ b/examples/multimedia/audiodecoder/audiodecoder.cpp
@@ -129,16 +129,16 @@ void AudioDecoder::error(QAudioDecoder::Error error)
case QAudioDecoder::NoError:
return;
case QAudioDecoder::ResourceError:
- m_cout << "Resource error" << endl;
+ m_cout << "Resource error\n";
break;
case QAudioDecoder::FormatError:
- m_cout << "Format error" << endl;
+ m_cout << "Format error\n";
break;
case QAudioDecoder::AccessDeniedError:
- m_cout << "Access denied error" << endl;
+ m_cout << "Access denied error\n";
break;
case QAudioDecoder::ServiceMissingError:
- m_cout << "Service missing error" << endl;
+ m_cout << "Service missing error\n";
break;
}
@@ -149,10 +149,10 @@ void AudioDecoder::stateChanged(QAudioDecoder::State newState)
{
switch (newState) {
case QAudioDecoder::DecodingState:
- m_cout << "Decoding..." << endl;
+ m_cout << "Decoding...\n";
break;
case QAudioDecoder::StoppedState:
- m_cout << "Decoding stopped" << endl;
+ m_cout << "Decoding stopped\n";
break;
}
}
@@ -160,12 +160,12 @@ void AudioDecoder::stateChanged(QAudioDecoder::State newState)
void AudioDecoder::finished()
{
if (!m_fileWriter.close())
- m_cout << "Failed to finilize output file" << endl;
+ m_cout << "Failed to finilize output file\n";
- m_cout << "Decoding finished" << endl;
+ m_cout << "Decoding finished\n";
if (m_isPlayback) {
- m_cout << "Starting playback" << endl;
+ m_cout << "Starting playback\n";
m_soundEffect.setSource(QUrl::fromLocalFile(m_targetFilename));
m_soundEffect.play();
} else {
@@ -176,7 +176,7 @@ void AudioDecoder::finished()
void AudioDecoder::playbackStatusChanged()
{
if (m_soundEffect.status() == QSoundEffect::Error) {
- m_cout << "Playback error" << endl;
+ m_cout << "Playback error\n";
emit done();
}
}
@@ -184,7 +184,7 @@ void AudioDecoder::playbackStatusChanged()
void AudioDecoder::playingChanged()
{
if (!m_soundEffect.isPlaying()) {
- m_cout << "Playback finished" << endl;
+ m_cout << "Playback finished\n";
if (m_isDelete)
QFile::remove(m_targetFilename);
emit done();
@@ -200,7 +200,7 @@ void AudioDecoder::updateProgress()
progress = position / (qreal)duration;
if (progress > m_progress + 0.1) {
- m_cout << "Decoding progress: " << (int)(progress * 100.0) << "%" << endl;
+ m_cout << "Decoding progress: " << (int)(progress * 100.0) << "%\n";
m_progress = progress;
}
}
diff --git a/examples/multimedia/audiodecoder/main.cpp b/examples/multimedia/audiodecoder/main.cpp
index c0947b83f..9c536ef0a 100644
--- a/examples/multimedia/audiodecoder/main.cpp
+++ b/examples/multimedia/audiodecoder/main.cpp
@@ -63,10 +63,10 @@ int main(int argc, char *argv[])
QTextStream cout(stdout, QIODevice::WriteOnly);
if (app.arguments().size() < 2) {
- cout << "Usage: audiodecoder [-p] [-pd] SOURCEFILE [TARGETFILE]" << endl;
- cout << "Set -p option if you want to play output file." << endl;
- cout << "Set -pd option if you want to play output file and delete it after successful playback." << endl;
- cout << "Default TARGETFILE name is \"out.wav\" in the same directory as the source file." << endl;
+ cout << "Usage: audiodecoder [-p] [-pd] SOURCEFILE [TARGETFILE]\n";
+ cout << "Set -p option if you want to play output file.\n";
+ cout << "Set -pd option if you want to play output file and delete it after successful playback.\n";
+ cout << "Default TARGETFILE name is \"out.wav\" in the same directory as the source file.\n";
return 0;
}
@@ -85,7 +85,7 @@ int main(int argc, char *argv[])
int sourceFileIndex = (isPlayback || isDelete) ? 2 : 1;
if (app.arguments().size() <= sourceFileIndex) {
- cout << "Error: source filename is not specified." << endl;
+ cout << "Error: source filename is not specified.\n";
return 0;
}
sourceFile.setFile(app.arguments().at(sourceFileIndex));
diff --git a/examples/multimedia/declarative-camera/doc/src/declarative-camera.qdoc b/examples/multimedia/declarative-camera/doc/src/declarative-camera.qdoc
index 69963c360..2818c22b0 100644
--- a/examples/multimedia/declarative-camera/doc/src/declarative-camera.qdoc
+++ b/examples/multimedia/declarative-camera/doc/src/declarative-camera.qdoc
@@ -29,6 +29,7 @@
\example multimedia/declarative-camera
\title QML Camera Example
\ingroup multimedia_examples
+\ingroup camera_examples_qml
\brief The Camera Example shows how to use the API to capture a still image
or video.
diff --git a/examples/multimedia/video/qmlvideo/Info.plist b/examples/multimedia/video/qmlvideo/Info.plist
new file mode 100644
index 000000000..92908df4b
--- /dev/null
+++ b/examples/multimedia/video/qmlvideo/Info.plist
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleExecutable</key>
+ <string>qmlvideo</string>
+ <key>CFBundleIdentifier</key>
+ <string>io.qt.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSCameraUsageDescription</key>
+ <string>Qt Multimedia Example</string>
+</dict>
+</plist>
diff --git a/examples/multimedia/video/qmlvideo/main.cpp b/examples/multimedia/video/qmlvideo/main.cpp
index e288c0ae4..01178acaa 100644
--- a/examples/multimedia/video/qmlvideo/main.cpp
+++ b/examples/multimedia/video/qmlvideo/main.cpp
@@ -62,6 +62,23 @@
#include "performancemonitordeclarative.h"
#endif
+#ifdef REQUEST_PERMISSIONS_ON_ANDROID
+#include <QtAndroid>
+
+bool requestStoragePermission() {
+ using namespace QtAndroid;
+
+ QString permission = QStringLiteral("android.permission.WRITE_EXTERNAL_STORAGE");
+ const QHash<QString, PermissionResult> results = requestPermissionsSync(QStringList({permission}));
+ if (!results.contains(permission) || results[permission] == PermissionResult::Denied) {
+ qWarning() << "Couldn't get permission: " << permission;
+ return false;
+ }
+
+ return true;
+}
+#endif
+
static const QString DefaultFileName1 = "";
static const QString DefaultFileName2 = "";
@@ -72,6 +89,10 @@ int main(int argc, char *argv[])
#ifdef PERFORMANCEMONITOR_SUPPORT
PerformanceMonitor::qmlRegisterTypes();
#endif
+#ifdef REQUEST_PERMISSIONS_ON_ANDROID
+ if (!requestStoragePermission())
+ return -1;
+#endif
QString source1, source2;
qreal volume = 0.5;
diff --git a/examples/multimedia/video/qmlvideo/qml/qmlvideo/VideoItem.qml b/examples/multimedia/video/qmlvideo/qml/qmlvideo/VideoItem.qml
index 8372acb7e..6614863ec 100644
--- a/examples/multimedia/video/qmlvideo/qml/qmlvideo/VideoItem.qml
+++ b/examples/multimedia/video/qmlvideo/qml/qmlvideo/VideoItem.qml
@@ -71,7 +71,7 @@ VideoOutput {
MediaPlayer {
id: mediaPlayer
autoLoad: false
- loops: Audio.Infinite
+ loops: MediaPlayer.Infinite
onError: {
if (MediaPlayer.NoError != error) {
diff --git a/examples/multimedia/video/qmlvideo/qmlvideo.pro b/examples/multimedia/video/qmlvideo/qmlvideo.pro
index 022835f12..4a73d6883 100644
--- a/examples/multimedia/video/qmlvideo/qmlvideo.pro
+++ b/examples/multimedia/video/qmlvideo/qmlvideo.pro
@@ -2,6 +2,10 @@ TEMPLATE = app
TARGET = qmlvideo
QT += quick multimedia
+android: qtHaveModule(androidextras) {
+ QT += androidextras
+ DEFINES += REQUEST_PERMISSIONS_ON_ANDROID
+}
LOCAL_SOURCES = main.cpp
LOCAL_HEADERS = trace.h
@@ -16,6 +20,8 @@ include($$SNIPPETS_PATH/performancemonitor/performancemonitordeclarative.pri)
target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/video/qmlvideo
INSTALLS += target
+macos: QMAKE_INFO_PLIST = Info.plist
+
EXAMPLE_FILES += \
qmlvideo.png \
qmlvideo.svg
diff --git a/examples/multimedia/video/qmlvideofx/main.cpp b/examples/multimedia/video/qmlvideofx/main.cpp
index 814c85368..ec547795f 100644
--- a/examples/multimedia/video/qmlvideofx/main.cpp
+++ b/examples/multimedia/video/qmlvideofx/main.cpp
@@ -61,6 +61,23 @@
#include "performancemonitordeclarative.h"
#endif
+#ifdef REQUEST_PERMISSIONS_ON_ANDROID
+#include <QtAndroid>
+
+bool requestStoragePermission() {
+ using namespace QtAndroid;
+
+ QString permission = QStringLiteral("android.permission.WRITE_EXTERNAL_STORAGE");
+ const QHash<QString, PermissionResult> results = requestPermissionsSync(QStringList({permission}));
+ if (!results.contains(permission) || results[permission] == PermissionResult::Denied) {
+ qWarning() << "Couldn't get permission: " << permission;
+ return false;
+ }
+
+ return true;
+}
+#endif
+
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
@@ -68,6 +85,10 @@ int main(int argc, char *argv[])
#ifdef PERFORMANCEMONITOR_SUPPORT
PerformanceMonitor::qmlRegisterTypes();
#endif
+#ifdef REQUEST_PERMISSIONS_ON_ANDROID
+ if (!requestStoragePermission())
+ return -1;
+#endif
QUrl fileName;
qreal volume = 0.5;
diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ContentVideo.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ContentVideo.qml
index ade7012b1..7b3bba2b3 100644
--- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ContentVideo.qml
+++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ContentVideo.qml
@@ -61,7 +61,7 @@ VideoOutput {
id: mediaPlayer
autoPlay: true
volume: 0.5
- loops: Audio.Infinite
+ loops: MediaPlayer.Infinite
}
function play() { mediaPlayer.play() }
diff --git a/examples/multimedia/video/qmlvideofx/qmlvideofx.pro b/examples/multimedia/video/qmlvideofx/qmlvideofx.pro
index 097ad7516..07047aec8 100644
--- a/examples/multimedia/video/qmlvideofx/qmlvideofx.pro
+++ b/examples/multimedia/video/qmlvideofx/qmlvideofx.pro
@@ -2,6 +2,10 @@ TEMPLATE = app
TARGET = qmlvideofx
QT += quick multimedia
+android: qtHaveModule(androidextras) {
+ QT += androidextras
+ DEFINES += REQUEST_PERMISSIONS_ON_ANDROID
+}
SOURCES += filereader.cpp main.cpp
HEADERS += filereader.h trace.h
diff --git a/examples/multimediawidgets/camera/doc/src/camera.qdoc b/examples/multimediawidgets/camera/doc/src/camera.qdoc
index 26de47ccf..68e19aac3 100644
--- a/examples/multimediawidgets/camera/doc/src/camera.qdoc
+++ b/examples/multimediawidgets/camera/doc/src/camera.qdoc
@@ -32,6 +32,7 @@
\example multimediawidgets/camera
\title Camera Example
\ingroup multimedia_examples
+\ingroup camera_examples
\brief The Camera Example shows how to use the API to capture a still image
or video.
diff --git a/examples/multimediawidgets/customvideosurface/customvideoitem/videoplayer.cpp b/examples/multimediawidgets/customvideosurface/customvideoitem/videoplayer.cpp
index 1fdd1c7f7..2a9900c2b 100644
--- a/examples/multimediawidgets/customvideosurface/customvideoitem/videoplayer.cpp
+++ b/examples/multimediawidgets/customvideosurface/customvideoitem/videoplayer.cpp
@@ -55,7 +55,7 @@
#include <QVideoSurfaceFormat>
#if !defined(QT_NO_OPENGL)
-# include <QGLWidget>
+# include <QOpenGLWidget>
#endif
VideoPlayer::VideoPlayer(QWidget *parent)
@@ -71,7 +71,7 @@ VideoPlayer::VideoPlayer(QWidget *parent)
QGraphicsView *graphicsView = new QGraphicsView(scene);
#if !defined(QT_NO_OPENGL)
- graphicsView->setViewport(new QGLWidget);
+ graphicsView->setViewport(new QOpenGLWidget);
#endif
scene->addItem(videoItem);