mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-03 16:21:41 +08:00
[AFV] Ref T739, audio context default device handling
This commit is contained in:
committed by
Mat Sutcliffe
parent
aed1103ce6
commit
a9a772c929
@@ -139,7 +139,7 @@ namespace BlackCore
|
|||||||
|
|
||||||
void CContextAudioBase::initVoiceClient()
|
void CContextAudioBase::initVoiceClient()
|
||||||
{
|
{
|
||||||
if (!m_voiceClient) { return; }
|
if (m_voiceClient) { return; }
|
||||||
m_voiceClient = new CAfvClient(CVoiceSetup().getAfvVoiceServerUrl(), this);
|
m_voiceClient = new CAfvClient(CVoiceSetup().getAfvVoiceServerUrl(), this);
|
||||||
|
|
||||||
const CVoiceSetup vs = m_voiceSettings.getThreadLocal();
|
const CVoiceSetup vs = m_voiceSettings.getThreadLocal();
|
||||||
@@ -172,9 +172,9 @@ namespace BlackCore
|
|||||||
// connect(m_voiceClient, &CAfvClient::inputVolumePeakVU, this, &CContextAudioBase::inputVolumePeakVU, Qt::QueuedConnection);
|
// connect(m_voiceClient, &CAfvClient::inputVolumePeakVU, this, &CContextAudioBase::inputVolumePeakVU, Qt::QueuedConnection);
|
||||||
// connect(m_voiceClient, &CAfvClient::receivingCallsignsChanged, this, &CContextAudioBase::receivingCallsignsChanged, Qt::QueuedConnection);
|
// connect(m_voiceClient, &CAfvClient::receivingCallsignsChanged, this, &CContextAudioBase::receivingCallsignsChanged, Qt::QueuedConnection);
|
||||||
// connect(m_voiceClient, &CAfvClient::updatedFromOwnAircraftCockpit, this, &CContextAudioBase::updatedFromOwnAircraftCockpit, Qt::QueuedConnection);
|
// connect(m_voiceClient, &CAfvClient::updatedFromOwnAircraftCockpit, this, &CContextAudioBase::updatedFromOwnAircraftCockpit, Qt::QueuedConnection);
|
||||||
connect(m_voiceClient, &CAfvClient::startedAudio, this, &CContextAudioBase::startedAudio, Qt::QueuedConnection);
|
connect(m_voiceClient, &CAfvClient::startedAudio, this, &CContextAudioBase::startedAudio, Qt::QueuedConnection);
|
||||||
connect(m_voiceClient, &CAfvClient::stoppedAudio, this, &CContextAudioBase::stoppedAudio, Qt::QueuedConnection);
|
connect(m_voiceClient, &CAfvClient::stoppedAudio, this, &CContextAudioBase::stoppedAudio, Qt::QueuedConnection);
|
||||||
connect(m_voiceClient, &CAfvClient::ptt, this, &CContextAudioBase::ptt, Qt::QueuedConnection);
|
connect(m_voiceClient, &CAfvClient::ptt, this, &CContextAudioBase::ptt, Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CContextAudioBase::terminateVoiceClient()
|
void CContextAudioBase::terminateVoiceClient()
|
||||||
@@ -287,13 +287,38 @@ namespace BlackCore
|
|||||||
return CAudioDeviceInfoList::allDevices();
|
return CAudioDeviceInfoList::allDevices();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CAudioDeviceInfoList CContextAudioBase::getAudioInputDevices() const
|
||||||
|
{
|
||||||
|
return this->getAudioDevices().getInputDevices();
|
||||||
|
}
|
||||||
|
|
||||||
|
CAudioDeviceInfoList CContextAudioBase::getAudioOutputDevices() const
|
||||||
|
{
|
||||||
|
return this->getAudioDevices().getOutputDevices();
|
||||||
|
}
|
||||||
|
|
||||||
|
CAudioDeviceInfoList CContextAudioBase::getAudioDevicesPlusDefault() const
|
||||||
|
{
|
||||||
|
return CAudioDeviceInfoList::allDevicesPlusDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
CAudioDeviceInfoList CContextAudioBase::getAudioInputDevicesPlusDefault() const
|
||||||
|
{
|
||||||
|
return this->getAudioDevicesPlusDefault().getInputDevices();
|
||||||
|
}
|
||||||
|
|
||||||
|
CAudioDeviceInfoList CContextAudioBase::getAudioOutputDevicesPlusDefault() const
|
||||||
|
{
|
||||||
|
return this->getAudioDevicesPlusDefault().getOutputDevices();
|
||||||
|
}
|
||||||
|
|
||||||
CAudioDeviceInfoList CContextAudioBase::getCurrentAudioDevices() const
|
CAudioDeviceInfoList CContextAudioBase::getCurrentAudioDevices() const
|
||||||
{
|
{
|
||||||
const QString inputDeviceName = m_inputDeviceSetting.get();
|
const QString inputDeviceName = m_inputDeviceSetting.get();
|
||||||
const CAudioDeviceInfo inputDevice = this->getAudioInputDevices().findByNameOrDefault(inputDeviceName, CAudioDeviceInfo::getDefaultInputDevice());
|
const CAudioDeviceInfo inputDevice = this->getAudioInputDevicesPlusDefault().findByNameOrDefault(inputDeviceName, CAudioDeviceInfo::getDefaultInputDevice());
|
||||||
|
|
||||||
const QString outputDeviceName = m_outputDeviceSetting.get();
|
const QString outputDeviceName = m_outputDeviceSetting.get();
|
||||||
const CAudioDeviceInfo outputDevice = this->getAudioOutputDevices().findByNameOrDefault(outputDeviceName, CAudioDeviceInfo::getDefaultOutputDevice());
|
const CAudioDeviceInfo outputDevice = this->getAudioOutputDevicesPlusDefault().findByNameOrDefault(outputDeviceName, CAudioDeviceInfo::getDefaultOutputDevice());
|
||||||
|
|
||||||
CAudioDeviceInfoList devices;
|
CAudioDeviceInfoList devices;
|
||||||
devices.push_back(inputDevice);
|
devices.push_back(inputDevice);
|
||||||
@@ -459,10 +484,10 @@ namespace BlackCore
|
|||||||
void CContextAudioBase::changeDeviceSettings()
|
void CContextAudioBase::changeDeviceSettings()
|
||||||
{
|
{
|
||||||
const QString inputDeviceName = m_inputDeviceSetting.get();
|
const QString inputDeviceName = m_inputDeviceSetting.get();
|
||||||
const CAudioDeviceInfo input = this->getAudioInputDevices().findByNameOrDefault(inputDeviceName, CAudioDeviceInfo::getDefaultInputDevice());
|
const CAudioDeviceInfo input = this->getAudioInputDevicesPlusDefault().findByNameOrDefault(inputDeviceName, CAudioDeviceInfo::getDefaultInputDevice());
|
||||||
|
|
||||||
const QString outputDeviceName = m_outputDeviceSetting.get();
|
const QString outputDeviceName = m_outputDeviceSetting.get();
|
||||||
const CAudioDeviceInfo output = this->getAudioOutputDevices().findByNameOrDefault(outputDeviceName, CAudioDeviceInfo::getDefaultOutputDevice());
|
const CAudioDeviceInfo output = this->getAudioOutputDevicesPlusDefault().findByNameOrDefault(outputDeviceName, CAudioDeviceInfo::getDefaultOutputDevice());
|
||||||
|
|
||||||
this->setCurrentAudioDevices(input, output);
|
this->setCurrentAudioDevices(input, output);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -134,8 +134,11 @@ namespace BlackCore
|
|||||||
//! Audio devices
|
//! Audio devices
|
||||||
//! @{
|
//! @{
|
||||||
BlackMisc::Audio::CAudioDeviceInfoList getAudioDevices() const;
|
BlackMisc::Audio::CAudioDeviceInfoList getAudioDevices() const;
|
||||||
BlackMisc::Audio::CAudioDeviceInfoList getAudioInputDevices() const { return this->getAudioDevices().getInputDevices(); }
|
BlackMisc::Audio::CAudioDeviceInfoList getAudioInputDevices() const;
|
||||||
BlackMisc::Audio::CAudioDeviceInfoList getAudioOutputDevices() const { return this->getAudioDevices().getOutputDevices(); }
|
BlackMisc::Audio::CAudioDeviceInfoList getAudioOutputDevices() const;
|
||||||
|
BlackMisc::Audio::CAudioDeviceInfoList getAudioDevicesPlusDefault() const;
|
||||||
|
BlackMisc::Audio::CAudioDeviceInfoList getAudioInputDevicesPlusDefault() const;
|
||||||
|
BlackMisc::Audio::CAudioDeviceInfoList getAudioOutputDevicesPlusDefault() const;
|
||||||
//! @}
|
//! @}
|
||||||
|
|
||||||
//! Get current audio device
|
//! Get current audio device
|
||||||
|
|||||||
@@ -86,8 +86,12 @@ namespace BlackSound
|
|||||||
{
|
{
|
||||||
if (device.isDefault() || !device.isValid())
|
if (device.isDefault() || !device.isValid())
|
||||||
{
|
{
|
||||||
if (device.getType() == CAudioDeviceInfo::InputDevice) { return CAudioDeviceInfoList::defaultQtInputDevice(); }
|
const QAudioDeviceInfo defDevice = device.isInputDevice() ? QAudioDeviceInfo::defaultInputDevice() : QAudioDeviceInfo::defaultOutputDevice();
|
||||||
else { return CAudioDeviceInfoList::defaultQtOutputDevice(); }
|
if (!defDevice.isFormatSupported(format))
|
||||||
|
{
|
||||||
|
format = defDevice.nearestFormat(format);
|
||||||
|
}
|
||||||
|
return defDevice;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QList<QAudioDeviceInfo> allQtDevices =
|
const QList<QAudioDeviceInfo> allQtDevices =
|
||||||
|
|||||||
Reference in New Issue
Block a user