12#include <private/qaudiohelpers_p.h>
17#define AL_FORMAT_MONO_FLOAT32 0x10010
18#define AL_FORMAT_STEREO_FLOAT32 0x10011
36 ALCdevice *
device =
nullptr;
48void QWasmAudioSource::writeBuffer()
51 alcGetIntegerv(aldata->
device, ALC_CAPTURE_SAMPLES, 1, &
samples);
54 auto err = alcGetError(aldata->
device);
56 err = alcGetError(aldata->
device);
64 m_device->
write(m_tmpData,bytes);
100 auto formatError = [
this](){
101 qWarning() <<
"Unsupported audio format " << m_format;
112 format = AL_FORMAT_STEREO8;
115 return formatError();
121 format = AL_FORMAT_MONO16;
124 format = AL_FORMAT_STEREO16;
127 return formatError();
139 return formatError();
143 return formatError();
148 m_tmpData =
new char[m_bufferSize];
156 auto err = alcGetError(aldata->
device);
158 qWarning() <<
"alcCaptureOpenDevice" << alcGetString(aldata->
device, err);
161 alcCaptureStart(aldata->
device);
162 m_elapsedTimer.
start();
163 auto cerr = alcGetError(aldata->
device);
165 qWarning() <<
"alcCaptureStart" << alcGetString(aldata->
device, cerr);
177 alcCaptureStop(aldata->
device);
178 alcCaptureCloseDevice(aldata->
device);
208 alcCaptureStop(aldata->
device);
217 alcCaptureStart(aldata->
device);
225 alcGetIntegerv(aldata->
device, ALC_CAPTURE_SAMPLES, 1, &
samples);
233 m_bufferSize =
value;
288 alcGetIntegerv(m_in->aldata->
device, ALC_CAPTURE_SAMPLES, 1, &
samples);
291 alcGetError(m_in->aldata->
device);
293 if (m_in->m_volume < 1)
295 auto err = alcGetError(m_in->aldata->
device);
301 m_in->m_processed += bytes;
IOBluetoothDevice * device
char * data()
\macro QT_NO_CAST_FROM_BYTEARRAY
void invalidate() noexcept
Marks this QElapsedTimer object as invalid.
void start() noexcept
Starts this timer.
\inmodule QtCore \reentrant
virtual bool open(QIODeviceBase::OpenMode mode)
Opens the device and sets its OpenMode to mode.
void readyRead()
This signal is emitted once every time new data is available for reading from the device's current re...
qint64 write(const char *data, qint64 len)
Writes at most maxSize bytes of data from data to the device.
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
void deleteLater()
\threadsafe
void start(int msec)
Starts or restarts the timer with a timeout interval of msec milliseconds.
void setInterval(int msec)
void stop()
Stops the timer.
void timeout(QPrivateSignal)
This signal is emitted when the timer times out.
qint64 readData(char *data, qint64 maxlen) override
Reads up to maxSize bytes from the device into data, and returns the number of bytes read or -1 if an...
qint64 writeData(const char *data, qint64 len) override
Writes up to maxSize bytes from data to the device.
QWasmAudioSourceDevice(QWasmAudioSource *in)
qint64 processedUSecs() const override
QAudio::State state() const override
QIODevice * start() override
void setFormat(const QAudioFormat &fmt) override
qreal volume() const override
QWasmAudioSource(const QByteArray &device, QObject *parent)
friend class QWasmAudioSourceDevice
int bufferSize() const override
void setBufferSize(int value) override
QAudioFormat format() const override
void setVolume(qreal volume) override
void setError(const QAudio::Error &error)
int bytesReady() const override
QAudio::Error error() const override
void qMultiplySamples(qreal factor, const QAudioFormat &format, const void *src, void *dest, int len)
State
\value ActiveState Audio data is being processed, this state is set after start() is called and while...
Error
\value NoError No errors have occurred \value OpenError An error occurred opening the audio device \v...
Combined button and popup list for selecting options.
DBusConnection const char DBusError * error
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
constexpr const T & qMin(const T &a, const T &b)
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLint GLsizei GLsizei GLenum format
QVideoFrameFormat::PixelFormat fmt
#define AL_FORMAT_STEREO_FLOAT32
#define AL_FORMAT_MONO_FLOAT32
constexpr unsigned int DEFAULT_BUFFER_DURATION
constexpr unsigned int DEFAULT_BUFFER_DURATION
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent