Ejemplo n.º 1
0
void TaudioOUT::setAudioOutParams() {
	playable = oggScale->loadAudioData(audioParams()->audioInstrNr);
  if (m_audioParams->OUTdevName != m_devName)
    createOutputDevice();
	if (playable) {
			ratioOfRate = m_sampleRate / 44100;
			quint32 oggSR = m_sampleRate;
			if (ratioOfRate > 1) { //
				if (m_sampleRate == 88200 || m_sampleRate == 176400)
					oggSR = 44100;
				else if (m_sampleRate == 96000 || m_sampleRate == 192000)
					oggSR = 48000;
			}
			oggScale->setSampleRate(oggSR);
			// Shifts only float part of a440diff - integer part is shifted by play() method
			oggScale->setPitchOffset(audioParams()->a440diff - (float)int(audioParams()->a440diff));

	} else
      playable = false;
}
QAbstractAudioOutput* QAudioDeviceFactory::createDefaultOutputDevice(QAudioFormat const &format)
{
    return createOutputDevice(defaultOutputDevice(), format);
}