StereoFrame Class
(QAudioBuffer::StereoFrame)The StereoFrame class provides a simple wrapper for a stereo audio frame. More...
Header: | #include <StereoFrame> |
qmake: | QT += multimedia |
Public Functions
StereoFrame() | |
StereoFrame(T leftSample, T rightSample) | |
T | average() const |
void | clear() |
StereoFrame<T> & | operator=(const StereoFrame<T> &other) |
Public Variables
Related Non-Members
Detailed Description
The StereoFrame class provides a simple wrapper for a stereo audio frame.
This templatized structure lets you treat a block of individual samples as an interleaved stereo stream frame. This is most useful when used with the templatized data() functions of QAudioBuffer. Generally the data is accessed as a pointer, so no copying should occur.
There are some predefined instantiations of this template for working with common stereo sample depths in a convenient way.
This frame structure has left and right members for accessing individual channel data.
For example:
// Assuming 'buffer' is an unsigned 16 bit stereo buffer.. QAudioBuffer::S16U *frames = buffer->data<QAudioBuffer::S16U>(); for (int i=0; i < buffer->frameCount(); i++) { qSwap(frames[i].left, frames[i].right); }
See also QAudioBuffer::S8U, QAudioBuffer::S8S, QAudioBuffer::S16S, QAudioBuffer::S16U, and QAudioBuffer::S32F.
Member Function Documentation
StereoFrame::StereoFrame()
Constructs a new frame with the "silent" value for this sample format (0 for signed formats and floats, 0x8* for unsigned formats).
StereoFrame::StereoFrame(T leftSample, T rightSample)
Constructs a new frame with the supplied leftSample and rightSample values.
T StereoFrame::average() const
Returns the arithmetic average of the left and right samples.
void StereoFrame::clear()
Sets the values of this frame to the "silent" value.
StereoFrame<T> &StereoFrame::operator=(const StereoFrame<T> &other)
Assigns other to this frame.
Member Variable Documentation
T StereoFrame::left
This variable holds the left sample
T StereoFrame::right
This variable holds the right sample
Related Non-Members
typedef QAudioBuffer::S16S
This is a predefined specialization for a signed stereo 16 bit sample. Each channel is a signed short.
typedef QAudioBuffer::S16U
This is a predefined specialization for an unsigned stereo 16 bit sample. Each channel is an unsigned short.
typedef QAudioBuffer::S32F
This is a predefined specialization for an 32 bit float sample. Each channel is a float.
typedef QAudioBuffer::S8S
This is a predefined specialization for a signed stereo 8 bit sample. Each channel is a signed char.
typedef QAudioBuffer::S8U
This is a predefined specialization for an unsigned stereo 8 bit sample. Each channel is an unsigned char.
© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. 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.