本文整理汇总了C++中QAudioFormat::bytesForFrames方法的典型用法代码示例。如果您正苦于以下问题:C++ QAudioFormat::bytesForFrames方法的具体用法?C++ QAudioFormat::bytesForFrames怎么用?C++ QAudioFormat::bytesForFrames使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QAudioFormat
的用法示例。
在下文中一共展示了QAudioFormat::bytesForFrames方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QMemoryAudioBufferProvider
QMemoryAudioBufferProvider(const void *data, int frameCount, const QAudioFormat &format, qint64 startTime)
: mStartTime(startTime)
, mFrameCount(frameCount)
, mFormat(format)
{
int numBytes = format.bytesForFrames(frameCount);
if (numBytes > 0) {
mBuffer = malloc(numBytes);
if (!mBuffer) {
// OOM, if that's likely
mStartTime = -1;
mFrameCount = 0;
mFormat = QAudioFormat();
} else {
// Allocated, see if we have data to copy
if (data) {
memcpy(mBuffer, data, numBytes);
} else {
// We have to fill with the zero value..
switch (format.sampleType()) {
case QAudioFormat::SignedInt:
// Signed int means 0x80, 0x8000 is zero
// XXX this is not right for > 8 bits(0x8080 vs 0x8000)
memset(mBuffer, 0x80, numBytes);
break;
default:
memset(mBuffer, 0x0, numBytes);
}
}
}
} else
mBuffer = 0;
}