More doc things
Changing case in some titles Other misc wording changes Change-Id: Ie56a390de0c5ee8f80876555d3d9139819fc5a73 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
This commit is contained in:
committed by
Qt by Nokia
parent
f5644b3648
commit
a34ff2d3e0
@@ -30,7 +30,7 @@
|
|||||||
\title Positional Audio
|
\title Positional Audio
|
||||||
\brief 3D positional audio playback and content management
|
\brief 3D positional audio playback and content management
|
||||||
|
|
||||||
\section1 QtAudioEngine features
|
\section1 QtAudioEngine Features
|
||||||
|
|
||||||
Qt Multimedia includes the \c QtAudioEngine QML module for
|
Qt Multimedia includes the \c QtAudioEngine QML module for
|
||||||
providing 3D positional audio playback and content management.
|
providing 3D positional audio playback and content management.
|
||||||
|
|||||||
@@ -35,13 +35,13 @@
|
|||||||
Qt Multimedia offers a range of audio classes, covering both low and
|
Qt Multimedia offers a range of audio classes, covering both low and
|
||||||
high level approaches to audio input, output and processing. In
|
high level approaches to audio input, output and processing. In
|
||||||
addition to traditional audio usage, the \l {Positional Audio}{Qt AudioEngine}
|
addition to traditional audio usage, the \l {Positional Audio}{Qt AudioEngine}
|
||||||
QML classes offers high level 3D positional audio for QML applications.
|
QML types offer high level 3D positional audio for QML applications.
|
||||||
See that documentation for more information.
|
See that documentation for more information.
|
||||||
|
|
||||||
\section1 Audio Implementation Details
|
\section1 Audio Implementation Details
|
||||||
|
|
||||||
\section2 Playing compressed audio
|
\section2 Playing Compressed Audio
|
||||||
For playing media or audio files that are not simple, raw audio, you can
|
For playing media or audio files that are not simple, uncompressed audio, you can
|
||||||
use the \l QMediaPlayer C++ class, or the \l {Audio} and \l {MediaPlayer} QML types.
|
use the \l QMediaPlayer C++ class, or the \l {Audio} and \l {MediaPlayer} QML types.
|
||||||
The QMediaPlayer class and associated QML types are also capable of playing
|
The QMediaPlayer class and associated QML types are also capable of playing
|
||||||
\l{multimedia-playing-video}{video}, if required. The compressed audio formats supported does depend
|
\l{multimedia-playing-video}{video}, if required. The compressed audio formats supported does depend
|
||||||
@@ -55,13 +55,13 @@ Here is how you play a local file using C++:
|
|||||||
You can also put files (even remote URLs) into a playlist:
|
You can also put files (even remote URLs) into a playlist:
|
||||||
\snippet doc/src/snippets/multimedia-snippets/media.cpp Audio playlist
|
\snippet doc/src/snippets/multimedia-snippets/media.cpp Audio playlist
|
||||||
|
|
||||||
\section2 Recording audio to a file
|
\section2 Recording Audio to a File
|
||||||
For recording audio to a file, the \l {QAudioRecorder} class allows you
|
For recording audio to a file, the \l {QAudioRecorder} class allows you
|
||||||
to compress audio data from an input device and record it.
|
to compress audio data from an input device and record it.
|
||||||
|
|
||||||
\snippet doc/src/snippets/multimedia-snippets/media.cpp Audio recorder
|
\snippet doc/src/snippets/multimedia-snippets/media.cpp Audio recorder
|
||||||
|
|
||||||
\section2 Low latency sound effects
|
\section2 Low Latency Sound Effects
|
||||||
|
|
||||||
In addition to the raw access to sound devices described above, the QSoundEffect class (and
|
In addition to the raw access to sound devices described above, the QSoundEffect class (and
|
||||||
\l {SoundEffect} QML type) offers a slightly higher level way to play
|
\l {SoundEffect} QML type) offers a slightly higher level way to play
|
||||||
@@ -75,7 +75,7 @@ the \l {QSoundEffect::setVolume()}{volume} (or \l {QSoundEffect::setMuted()}{mut
|
|||||||
For older, Qt 4.x based applications \l QSound is also available. Applications
|
For older, Qt 4.x based applications \l QSound is also available. Applications
|
||||||
are recommended to use QSoundEffect where possible.
|
are recommended to use QSoundEffect where possible.
|
||||||
|
|
||||||
\section2 Monitoring audio data during playback or recording
|
\section2 Monitoring Audio Data During Playback or Recording
|
||||||
|
|
||||||
The \l QAudioProbe class allows you to monitor audio data being played or
|
The \l QAudioProbe class allows you to monitor audio data being played or
|
||||||
recorded in the higher level classes like \l QMediaPlayer, \l QCamera and
|
recorded in the higher level classes like \l QMediaPlayer, \l QCamera and
|
||||||
@@ -89,7 +89,7 @@ processes them.
|
|||||||
Here's an example of installing a probe during recording:
|
Here's an example of installing a probe during recording:
|
||||||
\snippet doc/src/snippets/multimedia-snippets/media.cpp Audio probe
|
\snippet doc/src/snippets/multimedia-snippets/media.cpp Audio probe
|
||||||
|
|
||||||
\section2 Low level audio playback and recording
|
\section2 Low Level Audio Playback and Recording
|
||||||
Qt Multimedia offers classes for raw access to audio input and output
|
Qt Multimedia offers classes for raw access to audio input and output
|
||||||
facilities, allowing applications to receive raw data from devices like
|
facilities, allowing applications to receive raw data from devices like
|
||||||
microphones, and to write raw data to speakers or other devices. Generally
|
microphones, and to write raw data to speakers or other devices. Generally
|
||||||
@@ -98,7 +98,7 @@ can support different types of raw audio data.
|
|||||||
|
|
||||||
The QAudioOutput class offers raw audio data output, while QAudioInput
|
The QAudioOutput class offers raw audio data output, while QAudioInput
|
||||||
offers raw audio data input. Both classes have adjustable buffers and
|
offers raw audio data input. Both classes have adjustable buffers and
|
||||||
latency, so they are suitable for both low latency usecases (like games
|
latency, so they are suitable for both low latency use cases (like games
|
||||||
or VOIP) and high latency (like music playback). The available hardware
|
or VOIP) and high latency (like music playback). The available hardware
|
||||||
determines what audio outputs and inputs are available.
|
determines what audio outputs and inputs are available.
|
||||||
|
|
||||||
@@ -114,7 +114,7 @@ In \c push mode, the audio device provides a QIODevice instance that
|
|||||||
can be written or read to as needed. Typically this results in simpler
|
can be written or read to as needed. Typically this results in simpler
|
||||||
code but more buffering, which may affect latency.
|
code but more buffering, which may affect latency.
|
||||||
|
|
||||||
\section2 Decoding compressed audio to memory
|
\section2 Decoding Compressed Audio to Memory
|
||||||
In some cases you may want to decode a compressed audio file and do further
|
In some cases you may want to decode a compressed audio file and do further
|
||||||
processing yourself (like mix multiple samples, or some custom digital signal
|
processing yourself (like mix multiple samples, or some custom digital signal
|
||||||
processing algorithms). Qt Multimedia 5.0 offers a preliminary API for this
|
processing algorithms). Qt Multimedia 5.0 offers a preliminary API for this
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
The Qt Multimedia API provides a number of camera related classes, so you
|
The Qt Multimedia API provides a number of camera related classes, so you
|
||||||
can access images and videos from mobile device cameras or webcameras.
|
can access images and videos from mobile device cameras or webcameras.
|
||||||
There are both C++ and QML apis for common tasks.
|
There are both C++ and QML APIs for common tasks.
|
||||||
|
|
||||||
\section1 Camera Features
|
\section1 Camera Features
|
||||||
|
|
||||||
@@ -44,9 +44,9 @@ works is needed. If you're already familiar with this, you can skip ahead to
|
|||||||
* Camera features
|
* Camera features
|
||||||
* lens -> sensors -> image processing -> capture/recording
|
* lens -> sensors -> image processing -> capture/recording
|
||||||
|
|
||||||
\section2 The lens assembly
|
\section2 The Lens Assembly
|
||||||
At one end of the camera assembly is the lens assembly (one or
|
At one end of the camera assembly is the lens assembly (one or
|
||||||
more lenses, arranged to focus light onto the sensor). The lens
|
more lenses, arranged to focus light onto the sensor). The lenses
|
||||||
themselves can sometimes be moved to adjust things like focus and zoom,
|
themselves can sometimes be moved to adjust things like focus and zoom,
|
||||||
or they might be fixed in an arrangement to give a good balance between
|
or they might be fixed in an arrangement to give a good balance between
|
||||||
objects in focus, and cost.
|
objects in focus, and cost.
|
||||||
@@ -59,7 +59,7 @@ sharp. In some cases the camera will always use the center of the
|
|||||||
frame for this. Other cameras may also allow the region to focus
|
frame for this. Other cameras may also allow the region to focus
|
||||||
to be specified (for "touch to zoom", or "face zoom" features).
|
to be specified (for "touch to zoom", or "face zoom" features).
|
||||||
|
|
||||||
\section2 The sensor
|
\section2 The Sensor
|
||||||
Once light arrives at the sensor, it gets converted into digital pixels.
|
Once light arrives at the sensor, it gets converted into digital pixels.
|
||||||
This process can depend on a number of things but ultimately comes down
|
This process can depend on a number of things but ultimately comes down
|
||||||
to two things - how long the conversion is allowed to take, and how
|
to two things - how long the conversion is allowed to take, and how
|
||||||
@@ -69,7 +69,7 @@ allowing it to convert pixels faster, giving better quality for the same
|
|||||||
amount of time. Conversely, allowing a longer conversion time can let you
|
amount of time. Conversely, allowing a longer conversion time can let you
|
||||||
take photos in darker environments, as long as the camera is steady.
|
take photos in darker environments, as long as the camera is steady.
|
||||||
|
|
||||||
\section2 Image processing
|
\section2 Image Processing
|
||||||
After the image has been captured by the sensor, the camera firmware performs
|
After the image has been captured by the sensor, the camera firmware performs
|
||||||
various image processing tasks on it to compensate for various sensor
|
various image processing tasks on it to compensate for various sensor
|
||||||
characteristics, current lighting, and desired image properties. Faster sensor
|
characteristics, current lighting, and desired image properties. Faster sensor
|
||||||
@@ -85,12 +85,12 @@ light sources).
|
|||||||
Some forms of "special effects" can also be performed at this stage. Black
|
Some forms of "special effects" can also be performed at this stage. Black
|
||||||
and white, sepia, or "negative" style images can be produced.
|
and white, sepia, or "negative" style images can be produced.
|
||||||
|
|
||||||
\section2 Recording for posterity
|
\section2 Recording for Posterity
|
||||||
Finally, once a perfectly focused, exposed and processed image has been
|
Finally, once a perfectly focused, exposed and processed image has been
|
||||||
created, it can be put to good use. Camera images can be further processed
|
created, it can be put to good use. Camera images can be further processed
|
||||||
by application code (for example, to detect barcodes, or to stitch together),
|
by application code (for example, to detect barcodes, or to stitch together a
|
||||||
or saved to a common format like JPEG, or used to create a movie. Many of
|
panoramic image), or saved to a common format like JPEG, or used to create a movie.
|
||||||
these tasks have classes to assist them.
|
Many of these tasks have classes to assist them.
|
||||||
|
|
||||||
\target camera-tldr
|
\target camera-tldr
|
||||||
\section1 Camera Implementation Details
|
\section1 Camera Implementation Details
|
||||||
@@ -161,14 +161,14 @@ recording process can be changed with the \l {QMediaRecorder::record()}{record()
|
|||||||
\l {QMediaRecorder::stop()}{stop()} and \l {QMediaRecorder::setMuted()}{setMuted()}
|
\l {QMediaRecorder::stop()}{stop()} and \l {QMediaRecorder::setMuted()}{setMuted()}
|
||||||
slots in \l QMediaRecorder.
|
slots in \l QMediaRecorder.
|
||||||
|
|
||||||
\section2 Controlling the imaging pipeline
|
\section2 Controlling the Imaging Pipeline
|
||||||
|
|
||||||
Now that the basics of capturing images or movies are covered, there are a number
|
Now that the basics of capturing images or movies are covered, there are a number
|
||||||
of ways to control the imaging pipeline to implement some interesting techniques.
|
of ways to control the imaging pipeline to implement some interesting techniques.
|
||||||
As explained earlier, several physical and electronic elements combine to determine
|
As explained earlier, several physical and electronic elements combine to determine
|
||||||
the final images, and you can control them with different classes.
|
the final images, and you can control them with different classes.
|
||||||
|
|
||||||
\section3 Focus and zoom
|
\section3 Focus and Zoom
|
||||||
|
|
||||||
Focusing (and zoom) is managed primarily by the \l QCameraFocus class.
|
Focusing (and zoom) is managed primarily by the \l QCameraFocus class.
|
||||||
QCameraFocus allows the developer to set the general policy by means of the
|
QCameraFocus allows the developer to set the general policy by means of the
|
||||||
@@ -189,7 +189,7 @@ In addition to focus, QCameraFocus allows you to control any available optical o
|
|||||||
digital zoom. In general, optical zoom is higher quality, but more expensive to
|
digital zoom. In general, optical zoom is higher quality, but more expensive to
|
||||||
manufacture, so the available zoom range might be limited (or fixed to unity).
|
manufacture, so the available zoom range might be limited (or fixed to unity).
|
||||||
|
|
||||||
\section3 Exposure, aperture, shutter speed and flash
|
\section3 Exposure, Aperture, Shutter Speed and Flash
|
||||||
|
|
||||||
There are a number of settings that affect the amount of light that hits the
|
There are a number of settings that affect the amount of light that hits the
|
||||||
camera sensor, and hence the quality of the resulting image. The \l QCameraExposure
|
camera sensor, and hence the quality of the resulting image. The \l QCameraExposure
|
||||||
@@ -214,7 +214,7 @@ a xenon or other bulb). See also \l {Torch} for an easy to use API for
|
|||||||
torch functionality.
|
torch functionality.
|
||||||
|
|
||||||
\target camera_image_processing
|
\target camera_image_processing
|
||||||
\section3 Image processing
|
\section3 Image Processing
|
||||||
|
|
||||||
The QCameraImageProcessing class lets you adjust the image processing
|
The QCameraImageProcessing class lets you adjust the image processing
|
||||||
part of the pipeline. This includes the \l {QCameraImageProcessing::WhiteBalanceMode}{white balance}
|
part of the pipeline. This includes the \l {QCameraImageProcessing::WhiteBalanceMode}{white balance}
|
||||||
|
|||||||
@@ -63,14 +63,14 @@ All of these tasks can be broadly broken down into four main areas. More inform
|
|||||||
\li \l {Radio Overview}
|
\li \l {Radio Overview}
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
\section2 Multimedia recipes
|
\section2 Multimedia Recipes
|
||||||
For some quick recipes for specific tasks, look at the overviews above and consult this table:
|
For some quick recipes for specific tasks, look at the overviews above and consult this table:
|
||||||
|
|
||||||
\table 70%
|
\table 70%
|
||||||
\header
|
\header
|
||||||
\li Use case
|
\li Use case
|
||||||
\li Examples
|
\li Examples
|
||||||
\li QML Classes
|
\li QML Types
|
||||||
\li C++ Classes
|
\li C++ Classes
|
||||||
\row
|
\row
|
||||||
\li Playing a sound effect
|
\li Playing a sound effect
|
||||||
@@ -156,7 +156,7 @@ For developers wishing to access some platform specific settings,
|
|||||||
or to port the Qt Multimedia APIs to a new platform or technology,
|
or to port the Qt Multimedia APIs to a new platform or technology,
|
||||||
see \l{Multimedia Backend Development}.
|
see \l{Multimedia Backend Development}.
|
||||||
|
|
||||||
\section1 Changes from previous versions
|
\section1 Changes from Previous Versions
|
||||||
|
|
||||||
If you've previously used Qt Multimedia in Qt 4.x, or used Qt Multimedia Kit in Qt Mobility, please see
|
If you've previously used Qt Multimedia in Qt 4.x, or used Qt Multimedia Kit in Qt Mobility, please see
|
||||||
\l {Changes in Qt Multimedia} for more information on what has changed, and what you might need to
|
\l {Changes in Qt Multimedia} for more information on what has changed, and what you might need to
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ of these classes also overlap with both \l {Camera Overview}{camera} and
|
|||||||
\section1 Video Implementation Details
|
\section1 Video Implementation Details
|
||||||
|
|
||||||
\target multimedia-playing-video
|
\target multimedia-playing-video
|
||||||
\section2 Playing video in C++
|
\section2 Playing Video in C++
|
||||||
|
|
||||||
You can use the \l QMediaPlayer class to decode a video file, and display
|
You can use the \l QMediaPlayer class to decode a video file, and display
|
||||||
it using \l QVideoWidget, \l QGraphicsVideoItem, or a custom class.
|
it using \l QVideoWidget, \l QGraphicsVideoItem, or a custom class.
|
||||||
@@ -52,7 +52,7 @@ Here's an example of using QVideoWidget:
|
|||||||
And an example with QGraphicsVideoItem:
|
And an example with QGraphicsVideoItem:
|
||||||
\snippet doc/src/snippets/multimedia-snippets/video.cpp Video graphics item
|
\snippet doc/src/snippets/multimedia-snippets/video.cpp Video graphics item
|
||||||
|
|
||||||
\section2 Playing video in QML
|
\section2 Playing Video in QML
|
||||||
|
|
||||||
You can use \l VideoOutput to render content that is
|
You can use \l VideoOutput to render content that is
|
||||||
provided by either a \l MediaPlayer or a \l Camera.
|
provided by either a \l MediaPlayer or a \l Camera.
|
||||||
@@ -63,7 +63,7 @@ all media decoding and playback control is handled by the \l MediaPlayer.
|
|||||||
Alternatively there is also a higher level \l Video type that
|
Alternatively there is also a higher level \l Video type that
|
||||||
acts as a single, visual element to play video and control playback.
|
acts as a single, visual element to play video and control playback.
|
||||||
|
|
||||||
\section2 Working with low level video frames
|
\section2 Working with Low Level Video Frames
|
||||||
|
|
||||||
Qt Multimedia offers a number of low level classes to make handling
|
Qt Multimedia offers a number of low level classes to make handling
|
||||||
video frames a bit easier. These classes are primarily used when
|
video frames a bit easier. These classes are primarily used when
|
||||||
@@ -82,9 +82,9 @@ allows you to receive these frames from \l QMediaPlayer and
|
|||||||
and with an instance of this surface, \c myVideoSurface, you can set
|
and with an instance of this surface, \c myVideoSurface, you can set
|
||||||
the surface as the \l {QMediaPlayer::setVideoOutput()}{video output} for QMediaPlayer.
|
the surface as the \l {QMediaPlayer::setVideoOutput()}{video output} for QMediaPlayer.
|
||||||
|
|
||||||
\snippet doc/src/snippets/multimedia-snippets/video.cpp Setting surface in player
|
\snippet doc/src/snippets/multimedia-snippets/video.cpp Setting Surface in Player
|
||||||
|
|
||||||
Several of the built in Qt classes offer this functionality
|
Several of the built-in Qt classes offer this functionality
|
||||||
as well, so if you decode video in your application, you can present
|
as well, so if you decode video in your application, you can present
|
||||||
it to classes that offer a \l QVideoRendererControl class, and in QML
|
it to classes that offer a \l QVideoRendererControl class, and in QML
|
||||||
you can set a custom object for the source of a \l VideoOutput
|
you can set a custom object for the source of a \l VideoOutput
|
||||||
@@ -99,12 +99,12 @@ frames are then presented on the surface set in \c setVideoSurface().
|
|||||||
|
|
||||||
\snippet doc/src/snippets/multimedia-snippets/video.cpp Video producer
|
\snippet doc/src/snippets/multimedia-snippets/video.cpp Video producer
|
||||||
|
|
||||||
\section2 Recording video
|
\section2 Recording Video
|
||||||
You can use the \l QMediaRecorder class in conjunction with other
|
You can use the \l QMediaRecorder class in conjunction with other
|
||||||
classes to record video to disk. Primarily this is used with
|
classes to record video to disk. Primarily this is used with
|
||||||
the camera, so consult the \l {Camera Overview} for more information.
|
the camera, so consult the \l {Camera Overview} for more information.
|
||||||
|
|
||||||
\section2 Monitoring video frames
|
\section2 Monitoring Video Frames
|
||||||
You can use the \l QVideoProbe class to access video frames as they
|
You can use the \l QVideoProbe class to access video frames as they
|
||||||
flow through different parts of a media pipeline when using other
|
flow through different parts of a media pipeline when using other
|
||||||
classes like \l QMediaPlayer, \l QMediaRecorder or \l QCamera. After
|
classes like \l QMediaPlayer, \l QMediaRecorder or \l QCamera. After
|
||||||
|
|||||||
Reference in New Issue
Block a user