6#include <qaudioinput.h>
7#include <private/qstdweb_p.h>
11Q_LOGGING_CATEGORY(qWasmAudioInput,
"qt.multimedia.wasm.audioinput")
13QWasmAudioInput::QWasmAudioInput(QAudioInput *parent)
14 : QObject(parent), QPlatformAudioInput(parent)
17 setDeviceSourceStream(
"");
26 qCDebug(qWasmAudioInput) << Q_FUNC_INFO << muted;
27 if (muted == m_wasMuted)
29 if (m_mediaStream.isNull() || m_mediaStream.isUndefined())
31 emscripten::val audioTracks = m_mediaStream.call<emscripten::val>(
"getAudioTracks");
32 if (audioTracks.isNull() || audioTracks.isUndefined())
34 if (audioTracks[
"length"].as<
int>() < 1)
36 audioTracks[0].set(
"muted", muted);
38 emit mutedChanged(muted);
50 if (device == audioDevice)
54 setDeviceSourceStream(device.id().toStdString());
65 qCDebug(qWasmAudioInput) << Q_FUNC_INFO << id;
67 m_mediaInputStream.reset(
new JsMediaInputStream());
69 m_mediaInputStream->setUseAudio(
true);
70 m_mediaInputStream->setUseVideo(
false);
72 connect(m_mediaInputStream.get(), &JsMediaInputStream::mediaStreamReady,
this,
74 qCDebug(qWasmAudioInput) <<
"mediaStreamReady";
76 m_mediaStream = m_mediaInputStream->getMediaStream();
80 m_mediaInputStream->setStreamDevice(id);
90#include "moc_qwasmaudioinput_p.cpp"