Sophie

Sophie

distrib > Mageia > 6 > armv5tl > by-pkgid > 9ee5ef51dbf4a00567f58cff4d0e160c > files > 203

qtmultimedia5-doc-5.9.4-1.mga6.noarch.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qmediarecorder.cpp -->
  <title>QMediaRecorder Class | Qt Multimedia 5.9</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td >Qt 5.9</td><td ><a href="qtmultimedia-index.html">Qt Multimedia</a></td><td ><a href="qtmultimedia-modules.html">C++ Classes</a></td><td >QMediaRecorder</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right">Qt 5.9.4 Reference Documentation</td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-types">Public Types</a></li>
<li class="level1"><a href="#properties">Properties</a></li>
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#reimplemented-public-functions">Reimplemented Public Functions</a></li>
<li class="level1"><a href="#public-slots">Public Slots</a></li>
<li class="level1"><a href="#signals">Signals</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">QMediaRecorder Class</h1>
<!-- $$$QMediaRecorder-brief -->
<p>The <a href="qmediarecorder.html">QMediaRecorder</a> class is used for the recording of media content. <a href="#details">More...</a></p>
<!-- @@@QMediaRecorder -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign">   <span class="preprocessor">#include &lt;QMediaRecorder&gt;</span>
</td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += multimedia</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherits:</td><td class="memItemRight bottomAlign"> <a href="qmediabindableinterface.html">QMediaBindableInterface</a> and </td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherited By:</td><td class="memItemRight bottomAlign"> <p><a href="qaudiorecorder.html">QAudioRecorder</a></p>
</td></tr></table></div><ul>
<li><a href="qmediarecorder-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="public-types"></a>
<h2 id="public-types">Public Types</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#Error-enum">Error</a></b> { NoError, ResourceError, FormatError, OutOfSpaceError }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#State-enum">State</a></b> { StoppedState, RecordingState, PausedState }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#Status-enum">Status</a></b> { UnavailableStatus, UnloadedStatus, LoadingStatus, LoadedStatus, ..., FinalizingStatus }</td></tr>
</table></div>
<a name="properties"></a>
<h2 id="properties">Properties</h2>
<div class="table"><table class="propsummary">
<tr><td class="topAlign"><ul>
<li class="fn"><b><a href="qmediarecorder.html#actualLocation-prop">actualLocation</a></b> : const QUrl</li>
<li class="fn"><b><a href="qmediarecorder.html#duration-prop">duration</a></b> : const qint64</li>
<li class="fn"><b><a href="qmediarecorder.html#metaDataAvailable-prop">metaDataAvailable</a></b> : const bool</li>
<li class="fn"><b><a href="qmediarecorder.html#metaDataWritable-prop">metaDataWritable</a></b> : const bool</li>
<li class="fn"><b><a href="qmediarecorder.html#muted-prop">muted</a></b> : bool</li>
</ul></td><td class="topAlign"><ul>
<li class="fn"><b><a href="qmediarecorder.html#outputLocation-prop">outputLocation</a></b> : QUrl</li>
<li class="fn"><b><a href="qmediarecorder.html#state-prop">state</a></b> : const QMediaRecorder::State</li>
<li class="fn"><b><a href="qmediarecorder.html#status-prop">status</a></b> : const QMediaRecorder::Status</li>
<li class="fn"><b><a href="qmediarecorder.html#volume-prop">volume</a></b> : qreal</li>
</ul>
</td></tr>
</table></div>
<a name="public-functions"></a>
<h2 id="public-functions">Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#QMediaRecorder">QMediaRecorder</a></b>(QMediaObject *<i>mediaObject</i>, QObject *<i>parent</i> = Q_NULLPTR)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#dtor.QMediaRecorder">~QMediaRecorder</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QUrl </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#actualLocation-prop">actualLocation</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#audioCodecDescription">audioCodecDescription</a></b>(const QString &amp;<i>codec</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QAudioEncoderSettings </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#audioSettings">audioSettings</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QMultimedia::AvailabilityStatus </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#availability">availability</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QStringList </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#availableMetaData">availableMetaData</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#containerDescription">containerDescription</a></b>(const QString &amp;<i>format</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#containerFormat">containerFormat</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> qint64 </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#duration-prop">duration</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> Error </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#error">error</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#errorString">errorString</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#isAvailable">isAvailable</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#metaDataAvailable-prop">isMetaDataAvailable</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#metaDataWritable-prop">isMetaDataWritable</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#muted-prop">isMuted</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QVariant </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#metaData">metaData</a></b>(const QString &amp;<i>key</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QUrl </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#outputLocation-prop">outputLocation</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#setAudioSettings">setAudioSettings</a></b>(const QAudioEncoderSettings &amp;<i>settings</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#setContainerFormat">setContainerFormat</a></b>(const QString &amp;<i>container</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#setEncodingSettings">setEncodingSettings</a></b>(const QAudioEncoderSettings &amp;<i>audio</i>, const QVideoEncoderSettings &amp;<i>video</i> = QVideoEncoderSettings(), const QString &amp;<i>container</i> = QString())</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#setMetaData">setMetaData</a></b>(const QString &amp;<i>key</i>, const QVariant &amp;<i>value</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#outputLocation-prop">setOutputLocation</a></b>(const QUrl &amp;<i>location</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#setVideoSettings">setVideoSettings</a></b>(const QVideoEncoderSettings &amp;<i>settings</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> State </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#state">state</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> Status </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#status">status</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QStringList </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#supportedAudioCodecs">supportedAudioCodecs</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QList&lt;int&gt; </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#supportedAudioSampleRates">supportedAudioSampleRates</a></b>(const QAudioEncoderSettings &amp;<i>settings</i> = QAudioEncoderSettings(), bool *<i>continuous</i> = Q_NULLPTR) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QStringList </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#supportedContainers">supportedContainers</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QList&lt;qreal&gt; </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#supportedFrameRates">supportedFrameRates</a></b>(const QVideoEncoderSettings &amp;<i>settings</i> = QVideoEncoderSettings(), bool *<i>continuous</i> = Q_NULLPTR) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QList&lt;QSize&gt; </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#supportedResolutions">supportedResolutions</a></b>(const QVideoEncoderSettings &amp;<i>settings</i> = QVideoEncoderSettings(), bool *<i>continuous</i> = Q_NULLPTR) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QStringList </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#supportedVideoCodecs">supportedVideoCodecs</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#videoCodecDescription">videoCodecDescription</a></b>(const QString &amp;<i>codec</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QVideoEncoderSettings </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#videoSettings">videoSettings</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> qreal </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#volume-prop">volume</a></b>() const</td></tr>
</table></div>
<a name="reimplemented-public-functions"></a>
<h2 id="reimplemented-public-functions">Reimplemented Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> virtual QMediaObject *</td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#mediaObject">mediaObject</a></b>() const override</td></tr>
</table></div>
<ul>
<li class="fn">1 public function inherited from <a href="qmediabindableinterface.html#public-functions">QMediaBindableInterface</a></li>
</ul>
<a name="public-slots"></a>
<h2 id="public-slots">Public Slots</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#pause">pause</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#record">record</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#muted-prop">setMuted</a></b>(bool <i>muted</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#volume-prop">setVolume</a></b>(qreal <i>volume</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#stop">stop</a></b>()</td></tr>
</table></div>
<a name="signals"></a>
<h2 id="signals">Signals</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#actualLocationChanged">actualLocationChanged</a></b>(const QUrl &amp;<i>location</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#availabilityChanged">availabilityChanged</a></b>(bool <i>available</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#availabilityChanged-1">availabilityChanged</a></b>(QMultimedia::AvailabilityStatus <i>availability</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#durationChanged">durationChanged</a></b>(qint64 <i>duration</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#error-1">error</a></b>(QMediaRecorder::Error <i>error</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#metaDataAvailableChanged">metaDataAvailableChanged</a></b>(bool <i>available</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#metaDataChanged">metaDataChanged</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#metaDataChanged-1">metaDataChanged</a></b>(const QString &amp;<i>key</i>, const QVariant &amp;<i>value</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#metaDataWritableChanged">metaDataWritableChanged</a></b>(bool <i>writable</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#mutedChanged">mutedChanged</a></b>(bool <i>muted</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#stateChanged">stateChanged</a></b>(QMediaRecorder::State <i>state</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#status-prop">statusChanged</a></b>(QMediaRecorder::Status <i>status</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmediarecorder.html#volume-prop">volumeChanged</a></b>(qreal <i>volume</i>)</td></tr>
</table></div>
<h3>Additional Inherited Members</h3>
<ul>
<li class="fn">1 protected function inherited from <a href="qmediabindableinterface.html#protected-functions">QMediaBindableInterface</a></li>
</ul>
<a name="details"></a>
<!-- $$$QMediaRecorder-description -->
<div class="descr">
<h2 id="details">Detailed Description</h2>
<p>The <a href="qmediarecorder.html">QMediaRecorder</a> class is used for the recording of media content.</p>
<p>The <a href="qmediarecorder.html">QMediaRecorder</a> class is a high level media recording class. It's not intended to be used alone but for accessing the media recording functions of other media objects, like <a href="qradiotuner.html">QRadioTuner</a>, or <a href="qcamera.html">QCamera</a>.</p>
<pre class="cpp">

  recorder <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qmediarecorder.html#QMediaRecorder">QMediaRecorder</a></span>(camera);

  <span class="type"><a href="qaudioencodersettings.html">QAudioEncoderSettings</a></span> audioSettings;
  audioSettings<span class="operator">.</span>setCodec(<span class="string">&quot;audio/amr&quot;</span>);
  audioSettings<span class="operator">.</span>setQuality(<span class="type"><a href="qmultimedia.html">QMultimedia</a></span><span class="operator">::</span>HighQuality);

  recorder<span class="operator">-</span><span class="operator">&gt;</span>setAudioSettings(audioSettings);

  recorder<span class="operator">-</span><span class="operator">&gt;</span>setOutputLocation(<span class="type">QUrl</span><span class="operator">::</span>fromLocalFile(fileName));
  recorder<span class="operator">-</span><span class="operator">&gt;</span>record();

</pre>
</div>
<p><b>See also </b><a href="qaudiorecorder.html">QAudioRecorder</a>.</p>
<!-- @@@QMediaRecorder -->
<div class="types">
<h2>Member Type Documentation</h2>
<!-- $$$Error$$$NoError$$$ResourceError$$$FormatError$$$OutOfSpaceError -->
<h3 class="fn" id="Error-enum"><a name="Error-enum"></a>enum QMediaRecorder::<span class="name">Error</span></h3>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QMediaRecorder::NoError</code></td><td class="topAlign tblval"><code>0</code></td><td class="topAlign">No Errors.</td></tr>
<tr><td class="topAlign"><code>QMediaRecorder::ResourceError</code></td><td class="topAlign tblval"><code>1</code></td><td class="topAlign">Device is not ready or not available.</td></tr>
<tr><td class="topAlign"><code>QMediaRecorder::FormatError</code></td><td class="topAlign tblval"><code>2</code></td><td class="topAlign">Current format is not supported.</td></tr>
<tr><td class="topAlign"><code>QMediaRecorder::OutOfSpaceError</code></td><td class="topAlign tblval"><code>3</code></td><td class="topAlign">No space left on device.</td></tr>
</table></div>
<!-- @@@Error -->
<!-- $$$State$$$StoppedState$$$RecordingState$$$PausedState -->
<h3 class="fn" id="State-enum"><a name="State-enum"></a>enum QMediaRecorder::<span class="name">State</span></h3>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QMediaRecorder::StoppedState</code></td><td class="topAlign tblval"><code>0</code></td><td class="topAlign">The recorder is not active. If this is the state after recording then the actual created recording has finished being written to the final location and is ready on all platforms except on Android. On Android, due to platform limitations, there is no way to be certain that the recording has finished writing to the final location.</td></tr>
<tr><td class="topAlign"><code>QMediaRecorder::RecordingState</code></td><td class="topAlign tblval"><code>1</code></td><td class="topAlign">The recording is requested.</td></tr>
<tr><td class="topAlign"><code>QMediaRecorder::PausedState</code></td><td class="topAlign tblval"><code>2</code></td><td class="topAlign">The recorder is paused.</td></tr>
</table></div>
<!-- @@@State -->
<!-- $$$Status$$$UnavailableStatus$$$UnloadedStatus$$$LoadingStatus$$$LoadedStatus$$$StartingStatus$$$RecordingStatus$$$PausedStatus$$$FinalizingStatus -->
<h3 class="fn" id="Status-enum"><a name="Status-enum"></a>enum QMediaRecorder::<span class="name">Status</span></h3>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QMediaRecorder::UnavailableStatus</code></td><td class="topAlign tblval"><code>0</code></td><td class="topAlign">The recorder is not available or not supported by connected media object.</td></tr>
<tr><td class="topAlign"><code>QMediaRecorder::UnloadedStatus</code></td><td class="topAlign tblval"><code>1</code></td><td class="topAlign">The recorder is avilable but not loaded.</td></tr>
<tr><td class="topAlign"><code>QMediaRecorder::LoadingStatus</code></td><td class="topAlign tblval"><code>2</code></td><td class="topAlign">The recorder is initializing.</td></tr>
<tr><td class="topAlign"><code>QMediaRecorder::LoadedStatus</code></td><td class="topAlign tblval"><code>3</code></td><td class="topAlign">The recorder is initialized and ready to record media.</td></tr>
<tr><td class="topAlign"><code>QMediaRecorder::StartingStatus</code></td><td class="topAlign tblval"><code>4</code></td><td class="topAlign">Recording is requested but not active yet.</td></tr>
<tr><td class="topAlign"><code>QMediaRecorder::RecordingStatus</code></td><td class="topAlign tblval"><code>5</code></td><td class="topAlign">Recording is active.</td></tr>
<tr><td class="topAlign"><code>QMediaRecorder::PausedStatus</code></td><td class="topAlign tblval"><code>6</code></td><td class="topAlign">Recording is paused.</td></tr>
<tr><td class="topAlign"><code>QMediaRecorder::FinalizingStatus</code></td><td class="topAlign tblval"><code>7</code></td><td class="topAlign">Recording is stopped with media being finalized.</td></tr>
</table></div>
<!-- @@@Status -->
</div>
<div class="prop">
<h2>Property Documentation</h2>
<!-- $$$actualLocation-prop$$$actualLocation$$$actualLocationChangedconstQUrl& -->
<h3 class="fn" id="actualLocation-prop"><a name="actualLocation-prop"></a><span class="name">actualLocation</span> : const <span class="type">QUrl</span></h3>
<p>This property holds the actual location of the last media content.</p>
<p>The actual location is usually available after recording starts, and reset when new location is set or new recording starts.</p>
<p><b>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> QUrl </td><td class="memItemRight bottomAlign"><span class="name"><b>actualLocation</b></span>() const</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="qmediarecorder.html#actualLocationChanged">actualLocationChanged</a></b></span>(const QUrl &amp;<i>location</i>)</td></tr>
</table></div>
<!-- @@@actualLocation -->
<!-- $$$duration-prop$$$duration$$$durationChangedqint64 -->
<h3 class="fn" id="duration-prop"><a name="duration-prop"></a><span class="name">duration</span> : const <span class="type">qint64</span></h3>
<p>This property holds the recorded media duration in milliseconds.</p>
<p><b>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> qint64 </td><td class="memItemRight bottomAlign"><span class="name"><b>duration</b></span>() const</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="qmediarecorder.html#durationChanged">durationChanged</a></b></span>(qint64 <i>duration</i>)</td></tr>
</table></div>
<!-- @@@duration -->
<!-- $$$metaDataAvailable-prop$$$isMetaDataAvailable$$$metaDataAvailableChangedbool -->
<h3 class="fn" id="metaDataAvailable-prop"><a name="metaDataAvailable-prop"></a><span class="name">metaDataAvailable</span> : const <span class="type">bool</span></h3>
<p>This property holds whether access to a media object's meta-data is available.</p>
<p>If this is true there is meta-data available, otherwise there is no meta-data available.</p>
<p><b>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isMetaDataAvailable</b></span>() const</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="qmediarecorder.html#metaDataAvailableChanged">metaDataAvailableChanged</a></b></span>(bool <i>available</i>)</td></tr>
</table></div>
<!-- @@@metaDataAvailable -->
<!-- $$$metaDataWritable-prop$$$isMetaDataWritable$$$metaDataWritableChangedbool -->
<h3 class="fn" id="metaDataWritable-prop"><a name="metaDataWritable-prop"></a><span class="name">metaDataWritable</span> : const <span class="type">bool</span></h3>
<p>This property holds whether a media object's meta-data is writable.</p>
<p>If this is true the meta-data is writable, otherwise the meta-data is read-only.</p>
<p><b>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isMetaDataWritable</b></span>() const</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="qmediarecorder.html#metaDataWritableChanged">metaDataWritableChanged</a></b></span>(bool <i>writable</i>)</td></tr>
</table></div>
<!-- @@@metaDataWritable -->
<!-- $$$muted-prop$$$isMuted$$$setMutedbool$$$mutedChangedbool -->
<h3 class="fn" id="muted-prop"><a name="muted-prop"></a><span class="name">muted</span> : <span class="type">bool</span></h3>
<p>This property holds whether a recording audio stream is muted.</p>
<p><b>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isMuted</b></span>() const</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setMuted</b></span>(bool <i>muted</i>)</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="qmediarecorder.html#mutedChanged">mutedChanged</a></b></span>(bool <i>muted</i>)</td></tr>
</table></div>
<!-- @@@muted -->
<!-- $$$outputLocation-prop$$$outputLocation$$$setOutputLocationconstQUrl& -->
<h3 class="fn" id="outputLocation-prop"><a name="outputLocation-prop"></a><span class="name">outputLocation</span> : <span class="type">QUrl</span></h3>
<p>This property holds the destination location of media content.</p>
<p>Setting the location can fail, for example when the service supports only local file system locations but a network URL was passed. If the service does not support media recording this setting the output location will always fail.</p>
<p>The <i>location</i> can be relative or empty; in this case the recorder uses the system specific place and file naming scheme. After recording has stated, QMediaRecorder::outputLocation() returns the actual output location.</p>
<p><b>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> QUrl </td><td class="memItemRight bottomAlign"><span class="name"><b>outputLocation</b></span>() const</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>setOutputLocation</b></span>(const QUrl &amp;<i>location</i>)</td></tr>
</table></div>
<!-- @@@outputLocation -->
<!-- $$$state-prop$$$state$$$stateChangedQMediaRecorder::State -->
<h3 class="fn" id="state-prop"><a name="state-prop"></a><span class="name">state</span> : const <span class="type"><a href="qmediarecorder.html#State-enum">QMediaRecorder::State</a></span></h3>
<p>This property holds the current state of the media recorder.</p>
<p>The state property represents the user request and is changed synchronously during <a href="qmediarecorder.html#record">record</a>(), <a href="qmediarecorder.html#pause">pause</a>() or <a href="qmediarecorder.html#stop">stop</a>() calls. Recorder state may also change asynchronously when recording fails.</p>
<p><b>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> State </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="qmediarecorder.html#state">state</a></b></span>() const</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="qmediarecorder.html#stateChanged">stateChanged</a></b></span>(QMediaRecorder::State <i>state</i>)</td></tr>
</table></div>
<!-- @@@state -->
<!-- $$$status-prop$$$status$$$statusChangedQMediaRecorder::Status -->
<h3 class="fn" id="status-prop"><a name="status-prop"></a><span class="name">status</span> : const <span class="type"><a href="qmediarecorder.html#Status-enum">QMediaRecorder::Status</a></span></h3>
<p>This property holds the current status of the media recorder.</p>
<p>The status is changed asynchronously and represents the actual status of media recorder.</p>
<p><b>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> Status </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="qmediarecorder.html#status">status</a></b></span>() const</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>statusChanged</b></span>(QMediaRecorder::Status <i>status</i>)</td></tr>
</table></div>
<!-- @@@status -->
<!-- $$$volume-prop$$$volume$$$setVolumeqreal$$$volumeChangedqreal -->
<h3 class="fn" id="volume-prop"><a name="volume-prop"></a><span class="name">volume</span> : <span class="type">qreal</span></h3>
<p>This property holds the current recording audio volume.</p>
<p>The volume is scaled linearly from <code>0.0</code> (silence) to <code>1.0</code> (full volume). Values outside this range will be clamped.</p>
<p>The default volume is <code>1.0</code>.</p>
<p>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 <a href="qaudio.html#convertVolume">QAudio::convertVolume</a>() for more details.</p>
<p><b>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> qreal </td><td class="memItemRight bottomAlign"><span class="name"><b>volume</b></span>() const</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setVolume</b></span>(qreal <i>volume</i>)</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>volumeChanged</b></span>(qreal <i>volume</i>)</td></tr>
</table></div>
<!-- @@@volume -->
</div>
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$QMediaRecorder[overload1]$$$QMediaRecorderQMediaObject*QObject* -->
<h3 class="fn" id="QMediaRecorder"><a name="QMediaRecorder"></a>QMediaRecorder::<span class="name">QMediaRecorder</span>(<span class="type"><a href="qmediaobject.html">QMediaObject</a></span> *<i>mediaObject</i>, <span class="type">QObject</span> *<i>parent</i> = Q_NULLPTR)</h3>
<p>Constructs a media recorder which records the media produced by <i>mediaObject</i>.</p>
<p>The <i>parent</i> is passed to <a href="qmediaobject.html">QMediaObject</a>.</p>
<!-- @@@QMediaRecorder -->
<!-- $$$~QMediaRecorder[overload1]$$$~QMediaRecorder -->
<h3 class="fn" id="dtor.QMediaRecorder"><a name="dtor.QMediaRecorder"></a>QMediaRecorder::<span class="name">~QMediaRecorder</span>()</h3>
<p>Destroys a media recorder object.</p>
<!-- @@@~QMediaRecorder -->
<!-- $$$actualLocationChanged -->
<h3 class="fn" id="actualLocationChanged"><a name="actualLocationChanged"></a><code>[signal] </code><span class="type">void</span> QMediaRecorder::<span class="name">actualLocationChanged</span>(const <span class="type">QUrl</span> &amp;<i>location</i>)</h3>
<p>Signals that the actual <i>location</i> of the recorded media has changed. This signal is usually emitted when recording starts.</p>
<p><b>Note:</b> Notifier signal for property <a href="qmediarecorder.html#actualLocation-prop">actualLocation</a>. </p><!-- @@@actualLocationChanged -->
<!-- $$$audioCodecDescription[overload1]$$$audioCodecDescriptionconstQString& -->
<h3 class="fn" id="audioCodecDescription"><a name="audioCodecDescription"></a><span class="type">QString</span> QMediaRecorder::<span class="name">audioCodecDescription</span>(const <span class="type">QString</span> &amp;<i>codec</i>) const</h3>
<p>Returns a description of an audio <i>codec</i>.</p>
<!-- @@@audioCodecDescription -->
<!-- $$$audioSettings[overload1]$$$audioSettings -->
<h3 class="fn" id="audioSettings"><a name="audioSettings"></a><span class="type"><a href="qaudioencodersettings.html">QAudioEncoderSettings</a></span> QMediaRecorder::<span class="name">audioSettings</span>() const</h3>
<p>Returns the audio encoder settings being used.</p>
<p><b>See also </b><a href="qmediarecorder.html#setAudioSettings">setAudioSettings</a>() and <a href="qmediarecorder.html#setEncodingSettings">setEncodingSettings</a>().</p>
<!-- @@@audioSettings -->
<!-- $$$availability[overload1]$$$availability -->
<h3 class="fn" id="availability"><a name="availability"></a><span class="type"><a href="qmultimedia.html#AvailabilityStatus-enum">QMultimedia::AvailabilityStatus</a></span> QMediaRecorder::<span class="name">availability</span>() const</h3>
<p>Returns the availability of this functionality.</p>
<p><b>See also </b><a href="qmediarecorder.html#availabilityChanged">availabilityChanged</a>().</p>
<!-- @@@availability -->
<!-- $$$availabilityChanged[overload1]$$$availabilityChangedbool -->
<h3 class="fn" id="availabilityChanged"><a name="availabilityChanged"></a><code>[signal] </code><span class="type">void</span> QMediaRecorder::<span class="name">availabilityChanged</span>(<span class="type">bool</span> <i>available</i>)</h3>
<p>Signals that the media recorder is now available (if <i>available</i> is true), or not.</p>
<p><b>Note:</b> Signal <i>availabilityChanged</i> is overloaded in this class. To connect to this one using the function pointer syntax, you must specify the signal type in a static cast, as shown in this example:<pre class="cpp">

  connect(mediaRecorder<span class="operator">,</span> <span class="keyword">static_cast</span><span class="operator">&lt;</span><span class="type">void</span>(<span class="type"><a href="qmediarecorder.html#QMediaRecorder">QMediaRecorder</a></span><span class="operator">::</span><span class="operator">*</span>)(bool)<span class="operator">&gt;</span>(<span class="operator">&amp;</span><span class="type"><a href="qmediarecorder.html#QMediaRecorder">QMediaRecorder</a></span><span class="operator">::</span>availabilityChanged)<span class="operator">,</span>
      <span class="operator">[</span><span class="operator">=</span><span class="operator">]</span>(bool available){ <span class="comment">/* ... */</span> });

</pre>
<!-- @@@availabilityChanged -->
<!-- $$$availabilityChanged$$$availabilityChangedQMultimedia::AvailabilityStatus -->
<h3 class="fn" id="availabilityChanged-1"><a name="availabilityChanged-1"></a><code>[signal] </code><span class="type">void</span> QMediaRecorder::<span class="name">availabilityChanged</span>(<span class="type"><a href="qmultimedia.html#AvailabilityStatus-enum">QMultimedia::AvailabilityStatus</a></span> <i>availability</i>)</h3>
<p>Signals that the service availability has changed to <i>availability</i>.</p>
<p><b>Note:</b> Signal <i>availabilityChanged</i> is overloaded in this class. To connect to this one using the function pointer syntax, you must specify the signal type in a static cast, as shown in this example:<pre class="cpp">

  connect(mediaRecorder<span class="operator">,</span> <span class="keyword">static_cast</span><span class="operator">&lt;</span><span class="type">void</span>(<span class="type"><a href="qmediarecorder.html#QMediaRecorder">QMediaRecorder</a></span><span class="operator">::</span><span class="operator">*</span>)(<span class="type"><a href="qmultimedia.html">QMultimedia</a></span><span class="operator">::</span>AvailabilityStatus)<span class="operator">&gt;</span>(<span class="operator">&amp;</span><span class="type"><a href="qmediarecorder.html#QMediaRecorder">QMediaRecorder</a></span><span class="operator">::</span>availabilityChanged)<span class="operator">,</span>
      <span class="operator">[</span><span class="operator">=</span><span class="operator">]</span>(<span class="type"><a href="qmultimedia.html">QMultimedia</a></span><span class="operator">::</span>AvailabilityStatus availability){ <span class="comment">/* ... */</span> });

</pre>
<!-- @@@availabilityChanged -->
<!-- $$$availableMetaData[overload1]$$$availableMetaData -->
<h3 class="fn" id="availableMetaData"><a name="availableMetaData"></a><span class="type">QStringList</span> QMediaRecorder::<span class="name">availableMetaData</span>() const</h3>
<p>Returns a list of keys there is meta-data available for.</p>
<!-- @@@availableMetaData -->
<!-- $$$containerDescription[overload1]$$$containerDescriptionconstQString& -->
<h3 class="fn" id="containerDescription"><a name="containerDescription"></a><span class="type">QString</span> QMediaRecorder::<span class="name">containerDescription</span>(const <span class="type">QString</span> &amp;<i>format</i>) const</h3>
<p>Returns a description of a container <i>format</i>.</p>
<!-- @@@containerDescription -->
<!-- $$$containerFormat[overload1]$$$containerFormat -->
<h3 class="fn" id="containerFormat"><a name="containerFormat"></a><span class="type">QString</span> QMediaRecorder::<span class="name">containerFormat</span>() const</h3>
<p>Returns the selected container format.</p>
<p><b>See also </b><a href="qmediarecorder.html#setContainerFormat">setContainerFormat</a>().</p>
<!-- @@@containerFormat -->
<!-- $$$durationChanged -->
<h3 class="fn" id="durationChanged"><a name="durationChanged"></a><code>[signal] </code><span class="type">void</span> QMediaRecorder::<span class="name">durationChanged</span>(<span class="type">qint64</span> <i>duration</i>)</h3>
<p>Signals that the <i>duration</i> of the recorded media has changed.</p>
<p><b>Note:</b> Notifier signal for property <a href="qmediarecorder.html#duration-prop">duration</a>. </p><!-- @@@durationChanged -->
<!-- $$$error[overload1]$$$error -->
<h3 class="fn" id="error"><a name="error"></a><span class="type"><a href="qmediarecorder.html#Error-enum">Error</a></span> QMediaRecorder::<span class="name">error</span>() const</h3>
<p>Returns the current error state.</p>
<p><b>See also </b><a href="qmediarecorder.html#errorString">errorString</a>().</p>
<!-- @@@error -->
<!-- $$$error$$$errorQMediaRecorder::Error -->
<h3 class="fn" id="error-1"><a name="error-1"></a><code>[signal] </code><span class="type">void</span> QMediaRecorder::<span class="name">error</span>(<span class="type"><a href="qmediarecorder.html#Error-enum">QMediaRecorder::Error</a></span> <i>error</i>)</h3>
<p>Signals that an <i>error</i> has occurred.</p>
<p><b>Note:</b> Signal <i>error</i> is overloaded in this class. To connect to this one using the function pointer syntax, you must specify the signal type in a static cast, as shown in this example:<pre class="cpp">

  connect(mediaRecorder<span class="operator">,</span> <span class="keyword">static_cast</span><span class="operator">&lt;</span><span class="type">void</span>(<span class="type"><a href="qmediarecorder.html#QMediaRecorder">QMediaRecorder</a></span><span class="operator">::</span><span class="operator">*</span>)(<span class="type"><a href="qmediarecorder.html#QMediaRecorder">QMediaRecorder</a></span><span class="operator">::</span>Error)<span class="operator">&gt;</span>(<span class="operator">&amp;</span><span class="type"><a href="qmediarecorder.html#QMediaRecorder">QMediaRecorder</a></span><span class="operator">::</span>error)<span class="operator">,</span>
      <span class="operator">[</span><span class="operator">=</span><span class="operator">]</span>(<span class="type"><a href="qmediarecorder.html#QMediaRecorder">QMediaRecorder</a></span><span class="operator">::</span>Error error){ <span class="comment">/* ... */</span> });

</pre>
<!-- @@@error -->
<!-- $$$errorString[overload1]$$$errorString -->
<h3 class="fn" id="errorString"><a name="errorString"></a><span class="type">QString</span> QMediaRecorder::<span class="name">errorString</span>() const</h3>
<p>Returns a string describing the current error state.</p>
<p><b>See also </b><a href="qmediarecorder.html#error">error</a>().</p>
<!-- @@@errorString -->
<!-- $$$isAvailable[overload1]$$$isAvailable -->
<h3 class="fn" id="isAvailable"><a name="isAvailable"></a><span class="type">bool</span> QMediaRecorder::<span class="name">isAvailable</span>() const</h3>
<p>Returns true if media recorder service ready to use.</p>
<p><b>See also </b><a href="qmediarecorder.html#availabilityChanged">availabilityChanged</a>().</p>
<!-- @@@isAvailable -->
<!-- $$$mediaObject[overload1]$$$mediaObject -->
<h3 class="fn" id="mediaObject"><a name="mediaObject"></a><code>[override virtual] </code><span class="type"><a href="qmediaobject.html">QMediaObject</a></span> *QMediaRecorder::<span class="name">mediaObject</span>() const</h3>
<p>Reimplemented from <a href="qmediabindableinterface.html#mediaObject">QMediaBindableInterface::mediaObject</a>().</p>
<p>Returns the <a href="qmediaobject.html">QMediaObject</a> instance that this <a href="qmediarecorder.html">QMediaRecorder</a> is bound too, or 0 otherwise.</p>
<!-- @@@mediaObject -->
<!-- $$$metaData[overload1]$$$metaDataconstQString& -->
<h3 class="fn" id="metaData"><a name="metaData"></a><span class="type">QVariant</span> QMediaRecorder::<span class="name">metaData</span>(const <span class="type">QString</span> &amp;<i>key</i>) const</h3>
<p>Returns the value associated with a meta-data <i>key</i>.</p>
<p><b>See also </b><a href="qmediarecorder.html#setMetaData">setMetaData</a>().</p>
<!-- @@@metaData -->
<!-- $$$metaDataAvailableChanged -->
<h3 class="fn" id="metaDataAvailableChanged"><a name="metaDataAvailableChanged"></a><code>[signal] </code><span class="type">void</span> QMediaRecorder::<span class="name">metaDataAvailableChanged</span>(<span class="type">bool</span> <i>available</i>)</h3>
<p>Signals that the <i>available</i> state of a media object's meta-data has changed.</p>
<p><b>Note:</b> Notifier signal for property <a href="qmediarecorder.html#metaDataAvailable-prop">metaDataAvailable</a>. </p><!-- @@@metaDataAvailableChanged -->
<!-- $$$metaDataChanged[overload1]$$$metaDataChanged -->
<h3 class="fn" id="metaDataChanged"><a name="metaDataChanged"></a><code>[signal] </code><span class="type">void</span> QMediaRecorder::<span class="name">metaDataChanged</span>()</h3>
<p>Signals that a media object's meta-data has changed.</p>
<p>If multiple meta-data elements are changed, metaDataChanged(const QString &amp;key, const QVariant &amp;value) signal is emitted for each of them with metaDataChanged() changed emitted once.</p>
<p><b>Note:</b> Signal <i>metaDataChanged</i> is overloaded in this class. To connect to this one using the function pointer syntax, you must specify the signal type in a static cast, as shown in this example:<pre class="cpp">

  connect(mediaRecorder<span class="operator">,</span> <span class="keyword">static_cast</span><span class="operator">&lt;</span><span class="type">void</span>(<span class="type"><a href="qmediarecorder.html#QMediaRecorder">QMediaRecorder</a></span><span class="operator">::</span><span class="operator">*</span>)()<span class="operator">&gt;</span>(<span class="operator">&amp;</span><span class="type"><a href="qmediarecorder.html#QMediaRecorder">QMediaRecorder</a></span><span class="operator">::</span>metaDataChanged)<span class="operator">,</span>
      <span class="operator">[</span><span class="operator">=</span><span class="operator">]</span>(){ <span class="comment">/* ... */</span> });

</pre>
<!-- @@@metaDataChanged -->
<!-- $$$metaDataChanged$$$metaDataChangedconstQString&constQVariant& -->
<h3 class="fn" id="metaDataChanged-1"><a name="metaDataChanged-1"></a><code>[signal] </code><span class="type">void</span> QMediaRecorder::<span class="name">metaDataChanged</span>(const <span class="type">QString</span> &amp;<i>key</i>, const <span class="type">QVariant</span> &amp;<i>value</i>)</h3>
<p>Signal the changes of one meta-data element <i>value</i> with the given <i>key</i>.</p>
<p><b>Note:</b> Signal <i>metaDataChanged</i> is overloaded in this class. To connect to this one using the function pointer syntax, you must specify the signal type in a static cast, as shown in this example:<pre class="cpp">

  connect(mediaRecorder<span class="operator">,</span> <span class="keyword">static_cast</span><span class="operator">&lt;</span><span class="type">void</span>(<span class="type"><a href="qmediarecorder.html#QMediaRecorder">QMediaRecorder</a></span><span class="operator">::</span><span class="operator">*</span>)(<span class="keyword">const</span> <span class="type">QString</span> <span class="operator">&amp;</span><span class="operator">,</span> <span class="keyword">const</span> <span class="type">QVariant</span> <span class="operator">&amp;</span>)<span class="operator">&gt;</span>(<span class="operator">&amp;</span><span class="type"><a href="qmediarecorder.html#QMediaRecorder">QMediaRecorder</a></span><span class="operator">::</span>metaDataChanged)<span class="operator">,</span>
      <span class="operator">[</span><span class="operator">=</span><span class="operator">]</span>(<span class="keyword">const</span> <span class="type">QString</span> <span class="operator">&amp;</span>key<span class="operator">,</span> <span class="keyword">const</span> <span class="type">QVariant</span> <span class="operator">&amp;</span>value){ <span class="comment">/* ... */</span> });

</pre>
<!-- @@@metaDataChanged -->
<!-- $$$metaDataWritableChanged -->
<h3 class="fn" id="metaDataWritableChanged"><a name="metaDataWritableChanged"></a><code>[signal] </code><span class="type">void</span> QMediaRecorder::<span class="name">metaDataWritableChanged</span>(<span class="type">bool</span> <i>writable</i>)</h3>
<p>Signals that the <i>writable</i> state of a media object's meta-data has changed.</p>
<p><b>Note:</b> Notifier signal for property <a href="qmediarecorder.html#metaDataWritable-prop">metaDataWritable</a>. </p><!-- @@@metaDataWritableChanged -->
<!-- $$$mutedChanged -->
<h3 class="fn" id="mutedChanged"><a name="mutedChanged"></a><code>[signal] </code><span class="type">void</span> QMediaRecorder::<span class="name">mutedChanged</span>(<span class="type">bool</span> <i>muted</i>)</h3>
<p>Signals that the <i>muted</i> state has changed. If true the recording is being muted.</p>
<p><b>Note:</b> Notifier signal for property <a href="qmediarecorder.html#muted-prop">muted</a>. </p><!-- @@@mutedChanged -->
<!-- $$$pause[overload1]$$$pause -->
<h3 class="fn" id="pause"><a name="pause"></a><code>[slot] </code><span class="type">void</span> QMediaRecorder::<span class="name">pause</span>()</h3>
<p>Pause recording.</p>
<p>The recorder state is changed to <a href="qmediarecorder.html#State-enum">QMediaRecorder::PausedState</a>.</p>
<p>Depending on platform recording pause may be not supported, in this case the recorder state stays unchanged.</p>
<!-- @@@pause -->
<!-- $$$record[overload1]$$$record -->
<h3 class="fn" id="record"><a name="record"></a><code>[slot] </code><span class="type">void</span> QMediaRecorder::<span class="name">record</span>()</h3>
<p>Start recording.</p>
<p>While the recorder state is changed immediately to <a href="qmediarecorder.html#State-enum">QMediaRecorder::RecordingState</a>, recording may start asynchronously, with <a href="qmediarecorder.html#status-prop">statusChanged</a>(<a href="qmediarecorder.html#Status-enum">QMediaRecorder::RecordingStatus</a>) signal emitted when recording starts.</p>
<p>If recording fails <a href="qmediarecorder.html#error">error</a>() signal is emitted with recorder state being reset back to <a href="qmediarecorder.html#State-enum">QMediaRecorder::StoppedState</a>.</p>
<!-- @@@record -->
<!-- $$$setAudioSettings[overload1]$$$setAudioSettingsconstQAudioEncoderSettings& -->
<h3 class="fn" id="setAudioSettings"><a name="setAudioSettings"></a><span class="type">void</span> QMediaRecorder::<span class="name">setAudioSettings</span>(const <span class="type"><a href="qaudioencodersettings.html">QAudioEncoderSettings</a></span> &amp;<i>settings</i>)</h3>
<p>Sets the audio encoder <i>settings</i>.</p>
<p>If some parameters are not specified, or null settings are passed, the encoder will choose default encoding parameters, depending on media source properties.</p>
<p>It's only possible to change settings when the encoder is in the QMediaEncoder::StoppedState state.</p>
<p><b>See also </b><a href="qmediarecorder.html#audioSettings">audioSettings</a>(), <a href="qmediarecorder.html#videoSettings">videoSettings</a>(), and <a href="qmediarecorder.html#containerFormat">containerFormat</a>().</p>
<!-- @@@setAudioSettings -->
<!-- $$$setContainerFormat[overload1]$$$setContainerFormatconstQString& -->
<h3 class="fn" id="setContainerFormat"><a name="setContainerFormat"></a><span class="type">void</span> QMediaRecorder::<span class="name">setContainerFormat</span>(const <span class="type">QString</span> &amp;<i>container</i>)</h3>
<p>Sets the media <i>container</i> format.</p>
<p>If the container format is not specified, the encoder will choose format, depending on media source properties and encoding settings selected.</p>
<p>It's only possible to change settings when the encoder is in the QMediaEncoder::StoppedState state.</p>
<p><b>See also </b><a href="qmediarecorder.html#audioSettings">audioSettings</a>(), <a href="qmediarecorder.html#videoSettings">videoSettings</a>(), and <a href="qmediarecorder.html#containerFormat">containerFormat</a>().</p>
<!-- @@@setContainerFormat -->
<!-- $$$setEncodingSettings[overload1]$$$setEncodingSettingsconstQAudioEncoderSettings&constQVideoEncoderSettings&constQString& -->
<h3 class="fn" id="setEncodingSettings"><a name="setEncodingSettings"></a><span class="type">void</span> QMediaRecorder::<span class="name">setEncodingSettings</span>(const <span class="type"><a href="qaudioencodersettings.html">QAudioEncoderSettings</a></span> &amp;<i>audio</i>, const <span class="type"><a href="qvideoencodersettings.html">QVideoEncoderSettings</a></span> &amp;<i>video</i> = QVideoEncoderSettings(), const <span class="type">QString</span> &amp;<i>container</i> = QString())</h3>
<p>Sets the <i>audio</i> and <i>video</i> encoder settings and <i>container</i> format.</p>
<p>If some parameters are not specified, or null settings are passed, the encoder will choose default encoding parameters, depending on media source properties.</p>
<p>It's only possible to change settings when the encoder is in the QMediaEncoder::StoppedState state.</p>
<p><b>See also </b><a href="qmediarecorder.html#audioSettings">audioSettings</a>(), <a href="qmediarecorder.html#videoSettings">videoSettings</a>(), and <a href="qmediarecorder.html#containerFormat">containerFormat</a>().</p>
<!-- @@@setEncodingSettings -->
<!-- $$$setMetaData[overload1]$$$setMetaDataconstQString&constQVariant& -->
<h3 class="fn" id="setMetaData"><a name="setMetaData"></a><span class="type">void</span> QMediaRecorder::<span class="name">setMetaData</span>(const <span class="type">QString</span> &amp;<i>key</i>, const <span class="type">QVariant</span> &amp;<i>value</i>)</h3>
<p>Sets a <i>value</i> for a meta-data <i>key</i>.</p>
<p><b>Note: </b>To ensure that meta data is set corretly, it should be set before starting the recording. Once the recording is stopped, any meta data set will be attached to the next recording.</p><p><b>See also </b><a href="qmediarecorder.html#metaData">metaData</a>().</p>
<!-- @@@setMetaData -->
<!-- $$$setVideoSettings[overload1]$$$setVideoSettingsconstQVideoEncoderSettings& -->
<h3 class="fn" id="setVideoSettings"><a name="setVideoSettings"></a><span class="type">void</span> QMediaRecorder::<span class="name">setVideoSettings</span>(const <span class="type"><a href="qvideoencodersettings.html">QVideoEncoderSettings</a></span> &amp;<i>settings</i>)</h3>
<p>Sets the video encoder <i>settings</i>.</p>
<p>If some parameters are not specified, or null settings are passed, the encoder will choose default encoding parameters, depending on media source properties.</p>
<p>It's only possible to change settings when the encoder is in the QMediaEncoder::StoppedState state.</p>
<p><b>See also </b><a href="qmediarecorder.html#audioSettings">audioSettings</a>(), <a href="qmediarecorder.html#videoSettings">videoSettings</a>(), and <a href="qmediarecorder.html#containerFormat">containerFormat</a>().</p>
<!-- @@@setVideoSettings -->
<!-- $$$state -->
<h3 class="fn" id="state"><a name="state"></a><span class="type"><a href="qmediarecorder.html#State-enum">State</a></span> QMediaRecorder::<span class="name">state</span>() const</h3>
<p>Returns the current media recorder state.</p>
<p><b>Note:</b> Getter function for property <a href="qmediarecorder.html#state-prop">state</a>. </p><p><b>See also </b><a href="qmediarecorder.html#State-enum">QMediaRecorder::State</a>.</p>
<!-- @@@state -->
<!-- $$$stateChanged -->
<h3 class="fn" id="stateChanged"><a name="stateChanged"></a><code>[signal] </code><span class="type">void</span> QMediaRecorder::<span class="name">stateChanged</span>(<span class="type"><a href="qmediarecorder.html#State-enum">QMediaRecorder::State</a></span> <i>state</i>)</h3>
<p>Signals that a media recorder's <i>state</i> has changed.</p>
<p><b>Note:</b> Notifier signal for property <a href="qmediarecorder.html#state-prop">state</a>. </p><!-- @@@stateChanged -->
<!-- $$$status -->
<h3 class="fn" id="status"><a name="status"></a><span class="type"><a href="qmediarecorder.html#Status-enum">Status</a></span> QMediaRecorder::<span class="name">status</span>() const</h3>
<p>Returns the current media recorder status.</p>
<p><b>Note:</b> Getter function for property <a href="qmediarecorder.html#status-prop">status</a>. </p><p><b>See also </b><a href="qmediarecorder.html#Status-enum">QMediaRecorder::Status</a>.</p>
<!-- @@@status -->
<!-- $$$stop[overload1]$$$stop -->
<h3 class="fn" id="stop"><a name="stop"></a><code>[slot] </code><span class="type">void</span> QMediaRecorder::<span class="name">stop</span>()</h3>
<p>Stop recording.</p>
<p>The recorder state is changed to <a href="qmediarecorder.html#State-enum">QMediaRecorder::StoppedState</a>.</p>
<!-- @@@stop -->
<!-- $$$supportedAudioCodecs[overload1]$$$supportedAudioCodecs -->
<h3 class="fn" id="supportedAudioCodecs"><a name="supportedAudioCodecs"></a><span class="type">QStringList</span> QMediaRecorder::<span class="name">supportedAudioCodecs</span>() const</h3>
<p>Returns a list of supported audio codecs.</p>
<!-- @@@supportedAudioCodecs -->
<!-- $$$supportedAudioSampleRates[overload1]$$$supportedAudioSampleRatesconstQAudioEncoderSettings&bool* -->
<h3 class="fn" id="supportedAudioSampleRates"><a name="supportedAudioSampleRates"></a><span class="type">QList</span>&lt;<span class="type">int</span>&gt; QMediaRecorder::<span class="name">supportedAudioSampleRates</span>(const <span class="type"><a href="qaudioencodersettings.html">QAudioEncoderSettings</a></span> &amp;<i>settings</i> = QAudioEncoderSettings(), <span class="type">bool</span> *<i>continuous</i> = Q_NULLPTR) const</h3>
<p>Returns a list of supported audio sample rates.</p>
<p>If non null audio <i>settings</i> parameter is passed, the returned list is reduced to sample rates supported with partial settings applied.</p>
<p>This can be used to query the list of sample rates, supported by specific audio codec.</p>
<p>If the encoder supports arbitrary sample rates within the supported rates range, *<i>continuous</i> is set to true, otherwise *<i>continuous</i> is set to false.</p>
<!-- @@@supportedAudioSampleRates -->
<!-- $$$supportedContainers[overload1]$$$supportedContainers -->
<h3 class="fn" id="supportedContainers"><a name="supportedContainers"></a><span class="type">QStringList</span> QMediaRecorder::<span class="name">supportedContainers</span>() const</h3>
<p>Returns a list of supported container formats.</p>
<!-- @@@supportedContainers -->
<!-- $$$supportedFrameRates[overload1]$$$supportedFrameRatesconstQVideoEncoderSettings&bool* -->
<h3 class="fn" id="supportedFrameRates"><a name="supportedFrameRates"></a><span class="type">QList</span>&lt;<span class="type">qreal</span>&gt; QMediaRecorder::<span class="name">supportedFrameRates</span>(const <span class="type"><a href="qvideoencodersettings.html">QVideoEncoderSettings</a></span> &amp;<i>settings</i> = QVideoEncoderSettings(), <span class="type">bool</span> *<i>continuous</i> = Q_NULLPTR) const</h3>
<p>Returns a list of frame rates video can be encoded at.</p>
<p>If non null video <i>settings</i> parameter is passed, the returned list is reduced to frame rates supported with partial settings like video codec or resolution applied.</p>
<p>If the encoder supports arbitrary frame rates within the supported range, *<i>continuous</i> is set to true, otherwise *<i>continuous</i> is set to false.</p>
<p><b>See also </b><a href="qvideoencodersettings.html#frameRate">QVideoEncoderSettings::frameRate</a>().</p>
<!-- @@@supportedFrameRates -->
<!-- $$$supportedResolutions[overload1]$$$supportedResolutionsconstQVideoEncoderSettings&bool* -->
<h3 class="fn" id="supportedResolutions"><a name="supportedResolutions"></a><span class="type">QList</span>&lt;<span class="type">QSize</span>&gt; QMediaRecorder::<span class="name">supportedResolutions</span>(const <span class="type"><a href="qvideoencodersettings.html">QVideoEncoderSettings</a></span> &amp;<i>settings</i> = QVideoEncoderSettings(), <span class="type">bool</span> *<i>continuous</i> = Q_NULLPTR) const</h3>
<p>Returns a list of resolutions video can be encoded at.</p>
<p>If non null video <i>settings</i> parameter is passed, the returned list is reduced to resolution supported with partial settings like video codec or framerate applied.</p>
<p>If the encoder supports arbitrary resolutions within the supported range, *<i>continuous</i> is set to true, otherwise *<i>continuous</i> is set to false.</p>
<p><b>See also </b><a href="qvideoencodersettings.html#resolution">QVideoEncoderSettings::resolution</a>().</p>
<!-- @@@supportedResolutions -->
<!-- $$$supportedVideoCodecs[overload1]$$$supportedVideoCodecs -->
<h3 class="fn" id="supportedVideoCodecs"><a name="supportedVideoCodecs"></a><span class="type">QStringList</span> QMediaRecorder::<span class="name">supportedVideoCodecs</span>() const</h3>
<p>Returns a list of supported video codecs.</p>
<!-- @@@supportedVideoCodecs -->
<!-- $$$videoCodecDescription[overload1]$$$videoCodecDescriptionconstQString& -->
<h3 class="fn" id="videoCodecDescription"><a name="videoCodecDescription"></a><span class="type">QString</span> QMediaRecorder::<span class="name">videoCodecDescription</span>(const <span class="type">QString</span> &amp;<i>codec</i>) const</h3>
<p>Returns a description of a video <i>codec</i>.</p>
<p><b>See also </b><a href="qmediarecorder.html#setEncodingSettings">setEncodingSettings</a>().</p>
<!-- @@@videoCodecDescription -->
<!-- $$$videoSettings[overload1]$$$videoSettings -->
<h3 class="fn" id="videoSettings"><a name="videoSettings"></a><span class="type"><a href="qvideoencodersettings.html">QVideoEncoderSettings</a></span> QMediaRecorder::<span class="name">videoSettings</span>() const</h3>
<p>Returns the video encoder settings being used.</p>
<p><b>See also </b><a href="qmediarecorder.html#setVideoSettings">setVideoSettings</a>() and <a href="qmediarecorder.html#setEncodingSettings">setEncodingSettings</a>().</p>
<!-- @@@videoSettings -->
</div>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2017 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>