StereoFrame Struct
template <typename T> struct QAudioBuffer::StereoFrameThe StereoFrame class provides a simple wrapper for a stereo audio frame. More...
Public Functions
StereoFrame(T leftSample, T rightSample) | |
StereoFrame() | |
StereoFrame<T> & | operator=(const StereoFrame<T> &other) |
T | average() const |
void | clear() |
Public Variables
Detailed Description
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(T leftSample, T rightSample)
Constructs a new frame with the supplied leftSample and rightSample values.
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<T> &StereoFrame::operator=(const StereoFrame<T> &other)
Assigns other to this frame.
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.
© 2024 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.