mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-03 16:25:54 +08:00
[AFV] Ref T730, utility functions to log QAudioFromat
This commit is contained in:
@@ -7,6 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "audioutilities.h"
|
#include "audioutilities.h"
|
||||||
|
#include <QStringBuilder>
|
||||||
#include <QAudioInput>
|
#include <QAudioInput>
|
||||||
#include <QAudioOutput>
|
#include <QAudioOutput>
|
||||||
|
|
||||||
@@ -30,7 +31,7 @@ namespace BlackSound
|
|||||||
|
|
||||||
QVector<qint16> convertBytesTo16BitPCM(const QByteArray input)
|
QVector<qint16> convertBytesTo16BitPCM(const QByteArray input)
|
||||||
{
|
{
|
||||||
int inputSamples = input.size() / 2; // 16 bit input, so 2 bytes per sample
|
const int inputSamples = input.size() / 2; // 16 bit input, so 2 bytes per sample
|
||||||
QVector<qint16> output;
|
QVector<qint16> output;
|
||||||
output.fill(0, inputSamples);
|
output.fill(0, inputSamples);
|
||||||
for (int n = 0; n < inputSamples; n++)
|
for (int n = 0; n < inputSamples; n++)
|
||||||
@@ -184,4 +185,46 @@ namespace BlackSound
|
|||||||
return usedDevice;
|
return usedDevice;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString toQString(const QAudioFormat &format)
|
||||||
|
{
|
||||||
|
return QStringLiteral("Sample rate: %1 channels: %2 sample size: %3 codec: %4 order: %5 type: %6 bytes/frame: %7")
|
||||||
|
.arg(format.sampleRate())
|
||||||
|
.arg(format.channelCount())
|
||||||
|
.arg(format.sampleSize())
|
||||||
|
.arg(format.codec())
|
||||||
|
.arg(toQString(format.byteOrder()))
|
||||||
|
.arg(toQString(format.sampleType()))
|
||||||
|
.arg(format.bytesPerFrame());
|
||||||
|
}
|
||||||
|
|
||||||
|
const QString &toQString(QAudioFormat::Endian s)
|
||||||
|
{
|
||||||
|
static const QString l("little");
|
||||||
|
static const QString b("big");
|
||||||
|
switch (s)
|
||||||
|
{
|
||||||
|
case QAudioFormat::BigEndian: return b;
|
||||||
|
case QAudioFormat::LittleEndian: return l;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
static const QString u("??");
|
||||||
|
return u;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QString &toQString(QAudioFormat::SampleType e)
|
||||||
|
{
|
||||||
|
static const QString s("signed int");
|
||||||
|
static const QString u("unsigned int");
|
||||||
|
static const QString f("float");
|
||||||
|
switch (e)
|
||||||
|
{
|
||||||
|
case QAudioFormat::SignedInt: return s;
|
||||||
|
case QAudioFormat::UnSignedInt: return u;
|
||||||
|
case QAudioFormat::Float: return f;
|
||||||
|
case QAudioFormat::Unknown:
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
static const QString unknown("unknown");
|
||||||
|
return unknown;
|
||||||
|
}
|
||||||
} // ns
|
} // ns
|
||||||
|
|||||||
@@ -21,16 +21,19 @@
|
|||||||
namespace BlackSound
|
namespace BlackSound
|
||||||
{
|
{
|
||||||
//! Conversion functions @{
|
//! Conversion functions @{
|
||||||
BLACKSOUND_EXPORT QVector<float> convertBytesTo32BitFloatPCM(const QByteArray input);
|
BLACKSOUND_EXPORT QVector<float> convertBytesTo32BitFloatPCM(const QByteArray input);
|
||||||
BLACKSOUND_EXPORT QVector<qint16> convertBytesTo16BitPCM(const QByteArray input);
|
BLACKSOUND_EXPORT QVector<qint16> convertBytesTo16BitPCM(const QByteArray input);
|
||||||
BLACKSOUND_EXPORT QVector<qint16> convertFloatBytesTo16BitPCM(const QByteArray input);
|
BLACKSOUND_EXPORT QVector<qint16> convertFloatBytesTo16BitPCM(const QByteArray input);
|
||||||
BLACKSOUND_EXPORT QVector<float> convertFromMonoToStereo(const QVector<float> &mono);
|
BLACKSOUND_EXPORT QVector<float> convertFromMonoToStereo(const QVector<float> &mono);
|
||||||
BLACKSOUND_EXPORT QVector<qint16> convertFromStereoToMono(const QVector<qint16> &stereo);
|
BLACKSOUND_EXPORT QVector<qint16> convertFromStereoToMono(const QVector<qint16> &stereo);
|
||||||
BLACKSOUND_EXPORT QVector<float> convertFromShortToFloat(const QVector<qint16> &input);
|
BLACKSOUND_EXPORT QVector<float> convertFromShortToFloat(const QVector<qint16> &input);
|
||||||
|
|
||||||
BLACKSOUND_EXPORT QAudioDeviceInfo getLowestLatencyDevice(const BlackMisc::Audio::CAudioDeviceInfo &device, QAudioFormat &format);
|
BLACKSOUND_EXPORT QAudioDeviceInfo getLowestLatencyDevice(const BlackMisc::Audio::CAudioDeviceInfo &device, QAudioFormat &format);
|
||||||
BLACKSOUND_EXPORT QAudioDeviceInfo getHighestCompatibleOutputDevice(const BlackMisc::Audio::CAudioDeviceInfo &device, QAudioFormat &format);
|
BLACKSOUND_EXPORT QAudioDeviceInfo getHighestCompatibleOutputDevice(const BlackMisc::Audio::CAudioDeviceInfo &device, QAudioFormat &format);
|
||||||
|
|
||||||
|
BLACKSOUND_EXPORT QString toQString(const QAudioFormat &format);
|
||||||
|
BLACKSOUND_EXPORT const QString &toQString(QAudioFormat::Endian e);
|
||||||
|
BLACKSOUND_EXPORT const QString &toQString(QAudioFormat::SampleType s);
|
||||||
//! @}
|
//! @}
|
||||||
} // ns
|
} // ns
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user