diff options
Diffstat (limited to 'examples')
6 files changed, 56 insertions, 4 deletions
diff --git a/examples/multimedia/spectrum/app/engine.cpp b/examples/multimedia/spectrum/app/engine.cpp index fd977785b..d188259dc 100644 --- a/examples/multimedia/spectrum/app/engine.cpp +++ b/examples/multimedia/spectrum/app/engine.cpp @@ -569,15 +569,17 @@ bool Engine::selectFormat() sampleRatesList += m_audioInputDevice.supportedSampleRates(); sampleRatesList += m_audioOutputDevice.supportedSampleRates(); - sampleRatesList = sampleRatesList.toSet().toList(); // remove duplicates std::sort(sampleRatesList.begin(), sampleRatesList.end()); + const auto uniqueRatesEnd = std::unique(sampleRatesList.begin(), sampleRatesList.end()); + sampleRatesList.erase(uniqueRatesEnd, sampleRatesList.end()); ENGINE_DEBUG << "Engine::initialize frequenciesList" << sampleRatesList; QList<int> channelsList; channelsList += m_audioInputDevice.supportedChannelCounts(); channelsList += m_audioOutputDevice.supportedChannelCounts(); - channelsList = channelsList.toSet().toList(); std::sort(channelsList.begin(), channelsList.end()); + const auto uniqueChannelsEnd = std::unique(channelsList.begin(), channelsList.end()); + channelsList.erase(uniqueChannelsEnd, channelsList.end()); ENGINE_DEBUG << "Engine::initialize channelsList" << channelsList; QAudioFormat format; 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/qmlvideo.pro b/examples/multimedia/video/qmlvideo/qmlvideo.pro index 022835f12..dbd3a42a1 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 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/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/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); |