diff options
Diffstat (limited to 'src/imports/multimedia/Video.qml')
-rw-r--r-- | src/imports/multimedia/Video.qml | 545 |
1 files changed, 0 insertions, 545 deletions
diff --git a/src/imports/multimedia/Video.qml b/src/imports/multimedia/Video.qml deleted file mode 100644 index 24fde22e1..000000000 --- a/src/imports/multimedia/Video.qml +++ /dev/null @@ -1,545 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtMultimedia 5.13 - -/*! - \qmltype Video - \inherits Item - \ingroup multimedia_qml - \ingroup multimedia_video_qml - \inqmlmodule QtMultimedia - \brief A convenience type for showing a specified video. - - \c Video is a convenience type combining the functionality - of a \l MediaPlayer and a \l VideoOutput into one. It provides - simple video playback functionality without having to declare multiple - types. - - \qml - Video { - id: video - width : 800 - height : 600 - source: "video.avi" - - MouseArea { - anchors.fill: parent - onClicked: { - video.play() - } - } - - focus: true - Keys.onSpacePressed: video.playbackState == MediaPlayer.PlayingState ? video.pause() : video.play() - Keys.onLeftPressed: video.seek(video.position - 5000) - Keys.onRightPressed: video.seek(video.position + 5000) - } - \endqml - - \c Video supports untransformed, stretched, and uniformly scaled - video presentation. For a description of stretched uniformly scaled - presentation, see the \l fillMode property description. - - \sa MediaPlayer, VideoOutput - -\omit - \section1 Screen Saver - - If it is likely that an application will be playing video for an extended - period of time without user interaction, it may be necessary to disable - the platform's screen saver. The \l ScreenSaver (from \l QtSystemInfo) - may be used to disable the screensaver in this fashion: - - \qml - import QtSystemInfo 5.0 - - ScreenSaver { screenSaverEnabled: false } - \endqml -\endomit -*/ - -// TODO: Restore Qt System Info docs when the module is released - -Item { - id: video - - /*** Properties of VideoOutput ***/ - /*! - \qmlproperty enumeration Video::fillMode - - Set this property to define how the video is scaled to fit the target - area. - - \list - \li VideoOutput.Stretch - the video is scaled to fit - \li VideoOutput.PreserveAspectFit - the video is scaled uniformly to fit without - cropping - \li VideoOutput.PreserveAspectCrop - the video is scaled uniformly to fill, cropping - if necessary - \endlist - - Because this type is for convenience in QML, it does not - support enumerations directly, so enumerations from \c VideoOutput are - used to access the available fill modes. - - The default fill mode is preserveAspectFit. - */ - property alias fillMode: videoOut.fillMode - - /*! - \qmlproperty enumeration Video::flushMode - - Set this property to define what \c Video should show - when playback is finished or stopped. - - \list - \li VideoOutput.EmptyFrame - clears video output. - \li VideoOutput.FirstFrame - shows the first valid frame. - \li VideoOutput.LastFrame - shows the last valid frame. - \endlist - - The default flush mode is EmptyFrame. - \since 5.15 - */ - property alias flushMode: videoOut.flushMode - - /*! - \qmlproperty int Video::orientation - - The orientation of the \c Video in degrees. Only multiples of 90 - degrees is supported, that is 0, 90, 180, 270, 360, etc. - */ - property alias orientation: videoOut.orientation - - - /*** Properties of MediaPlayer ***/ - - /*! - \qmlproperty enumeration Video::playbackState - - This read only property indicates the playback state of the media. - - \list - \li MediaPlayer.PlayingState - the media is playing - \li MediaPlayer.PausedState - the media is paused - \li MediaPlayer.StoppedState - the media is stopped - \endlist - - The default state is MediaPlayer.StoppedState. - */ - property alias playbackState: player.playbackState - - /*! - \qmlproperty bool Video::autoLoad - - This property indicates if loading of media should begin immediately. - - Defaults to true, if false media will not be loaded until playback is - started. - */ - property alias autoLoad: player.autoLoad - - /*! - \qmlproperty real Video::bufferProgress - - This property holds how much of the data buffer is currently filled, - from 0.0 (empty) to 1.0 - (full). - */ - property alias bufferProgress: player.bufferProgress - - /*! - \qmlproperty int Video::duration - - This property holds the duration of the media in milliseconds. - - If the media doesn't have a fixed duration (a live stream for example) - this will be 0. - */ - property alias duration: player.duration - - /*! - \qmlproperty enumeration Video::error - - This property holds the error state of the video. It can be one of: - - \list - \li MediaPlayer.NoError - there is no current error. - \li MediaPlayer.ResourceError - the video cannot be played due to a problem - allocating resources. - \li MediaPlayer.FormatError - the video format is not supported. - \li MediaPlayer.NetworkError - the video cannot be played due to network issues. - \li MediaPlayer.AccessDenied - the video cannot be played due to insufficient - permissions. - \li MediaPlayer.ServiceMissing - the video cannot be played because the media - service could not be - instantiated. - \endlist - */ - property alias error: player.error - - /*! - \qmlproperty string Video::errorString - - This property holds a string describing the current error condition in more detail. - */ - property alias errorString: player.errorString - - /*! - \qmlproperty enumeration Video::availability - - Returns the availability state of the video instance. - - This is one of: - \table - \header \li Value \li Description - \row \li MediaPlayer.Available - \li The video player is available to use. - \row \li MediaPlayer.Busy - \li The video player is usually available, but some other - process is utilizing the hardware necessary to play media. - \row \li MediaPlayer.Unavailable - \li There are no supported video playback facilities. - \row \li MediaPlayer.ResourceMissing - \li There is one or more resources missing, so the video player cannot - be used. It may be possible to try again at a later time. - \endtable - */ - property alias availability: player.availability - - /*! - \qmlproperty bool Video::hasAudio - - This property holds whether the current media has audio content. - */ - property alias hasAudio: player.hasAudio - - /*! - \qmlproperty bool Video::hasVideo - - This property holds whether the current media has video content. - */ - property alias hasVideo: player.hasVideo - - /*! - \qmlproperty object Video::metaData - - This property holds the meta data for the current media. - - See \l{MediaPlayer::metaData}{MediaPlayer.metaData} for details about each meta data key. - - \sa {QMediaMetaData} - */ - property alias metaData: player.metaData - - /*! - \qmlproperty bool Video::muted - - This property holds whether the audio output is muted. - */ - property alias muted: player.muted - - /*! - \qmlproperty real Video::playbackRate - - This property holds the rate at which video is played at as a multiple - of the normal rate. - */ - property alias playbackRate: player.playbackRate - - /*! - \qmlproperty int Video::position - - This property holds the current playback position in milliseconds. - - To change this position, use the \l seek() method. - - \sa seek() - */ - property alias position: player.position - - /*! - \qmlproperty enumeration Video::audioRole - - This property holds the role of the audio stream. It can be set to specify the type of audio - being played, allowing the system to make appropriate decisions when it comes to volume, - routing or post-processing. - - The audio role must be set before setting the source property. - - Supported values can be retrieved with supportedAudioRoles(). - - The value can be one of: - \list - \li MediaPlayer.UnknownRole - the role is unknown or undefined. - \li MediaPlayer.MusicRole - music. - \li MediaPlayer.VideoRole - soundtrack from a movie or a video. - \li MediaPlayer.VoiceCommunicationRole - voice communications, such as telephony. - \li MediaPlayer.AlarmRole - alarm. - \li MediaPlayer.NotificationRole - notification, such as an incoming e-mail or a chat request. - \li MediaPlayer.RingtoneRole - ringtone. - \li MediaPlayer.AccessibilityRole - for accessibility, such as with a screen reader. - \li MediaPlayer.SonificationRole - sonification, such as with user interface sounds. - \li MediaPlayer.GameRole - game audio. - \li MediaPlayer.CustomRole - The role is specified by customAudioRole. - \endlist - - customAudioRole is cleared when this property is set to anything other than CustomRole. - - \since 5.6 - */ - property alias audioRole: player.audioRole - - /*! - \qmlproperty string Video::customAudioRole - - This property holds the role of the audio stream when the backend supports audio roles - unknown to Qt. It can be set to specify the type of audio being played, allowing the - system to make appropriate decisions when it comes to volume, routing or post-processing. - - The audio role must be set before setting the source property. - - audioRole is set to CustomRole when this property is set. - - \since 5.11 - */ - property alias customAudioRole: player.customAudioRole - - /*! - \qmlproperty bool Video::seekable - - This property holds whether the playback position of the video can be - changed. - - If true, calling the \l seek() method will cause playback to seek to the new position. - */ - property alias seekable: player.seekable - - /*! - \qmlproperty url Video::source - - This property holds the source URL of the media. - - Setting the \l source property clears the current \l playlist, if any. - */ - property alias source: player.source - - /*! - \qmlproperty Playlist Video::playlist - - This property holds the playlist used by the media player. - - Setting the \l playlist property resets the \l source to an empty string. - - \since 5.6 - */ - property alias playlist: player.playlist - - /*! - \qmlproperty enumeration Video::status - - This property holds the status of media loading. It can be one of: - - \list - \li MediaPlayer.NoMedia - no media has been set. - \li MediaPlayer.Loading - the media is currently being loaded. - \li MediaPlayer.Loaded - the media has been loaded. - \li MediaPlayer.Buffering - the media is buffering data. - \li MediaPlayer.Stalled - playback has been interrupted while the media is buffering data. - \li MediaPlayer.Buffered - the media has buffered data. - \li MediaPlayer.EndOfMedia - the media has played to the end. - \li MediaPlayer.InvalidMedia - the media cannot be played. - \li MediaPlayer.UnknownStatus - the status of the media cannot be determined. - \endlist - */ - property alias status: player.status - - /*! - \qmlproperty real Video::volume - - This property holds the audio volume. - - The volume is scaled linearly from \c 0.0 (silence) to \c 1.0 (full volume). Values outside - this range will be clamped. - - The default volume is \c 1.0. - - UI volume controls should usually be scaled nonlinearly. For example, using a logarithmic - scale will produce linear changes in perceived loudness, which is what a user would normally - expect from a volume control. See \l {QtMultimedia::QtMultimedia::convertVolume()}{QtMultimedia.convertVolume()} - for more details. - */ - property alias volume: player.volume - - /*! - \qmlproperty bool Video::autoPlay - - This property determines whether the media should begin playback automatically. - - Setting to \c true also sets \l autoLoad to \c true. The default is \c false. - */ - property alias autoPlay: player.autoPlay - - /*! - \qmlproperty int Video::notifyInterval - - The interval at which notifiable properties will update. - - The notifiable properties are \l position and \l bufferProgress. - - The interval is expressed in milliseconds, the default value is 1000. - - \since 5.9 - */ - property alias notifyInterval: player.notifyInterval - - /*! - \qmlproperty int Video::loops - - This property holds the number of times the media is played. A value of \c 0 or \c 1 means - the media will be played only once; set to \c MediaPlayer.Infinite to enable infinite looping. - - The value can be changed while the media is playing, in which case it will update - the remaining loops to the new value. - - The default is \c 1. - - \since 5.9 - */ - property alias loops: player.loops - - /*! - \qmlsignal Video::paused() - - This signal is emitted when playback is paused. - - The corresponding handler is \c onPaused. - */ - signal paused - - /*! - \qmlsignal Video::stopped() - - This signal is emitted when playback is stopped. - - The corresponding handler is \c onStopped. - */ - signal stopped - - /*! - \qmlsignal Video::playing() - - This signal is emitted when playback is started or continued. - - The corresponding handler is \c onPlaying. - */ - signal playing - - VideoOutput { - id: videoOut - anchors.fill: video - source: player - } - - MediaPlayer { - id: player - onPaused: video.paused() - onStopped: video.stopped() - onPlaying: video.playing() - } - - /*! - \qmlmethod Video::play() - - Starts playback of the media. - */ - function play() { - player.play(); - } - - /*! - \qmlmethod Video::pause() - - Pauses playback of the media. - */ - function pause() { - player.pause(); - } - - /*! - \qmlmethod Video::stop() - - Stops playback of the media. - */ - function stop() { - player.stop(); - } - - /*! - \qmlmethod Video::seek(offset) - - If the \l seekable property is true, seeks the current - playback position to \a offset. - - Seeking may be asynchronous, so the \l position property - may not be updated immediately. - - \sa seekable, position - */ - function seek(offset) { - player.seek(offset); - } - - /*! - \qmlmethod list<int> Video::supportedAudioRoles() - - Returns a list of supported audio roles. - - If setting the audio role is not supported, an empty list is returned. - - \since 5.6 - \sa audioRole - */ - function supportedAudioRoles() { - return player.supportedAudioRoles(); - } - -} |