Exemplo n.º 1
0
	PulseAudioSource(int port, int mic): mPort(port)
	, mMic(mic)
	, mBuffering(50)
	, mPaused(true)
	, mQuit(false)
	, mPMainLoop(nullptr)
	, mPContext(nullptr)
	, mStream(nullptr)
	, mServer(nullptr)
	, mPAready(0)
	, mResampleRatio(1.0)
	, mTimeAdjust(1.0)
	, mOutputSamplesPerSec(48000)
	, mResampler(nullptr)
	, mOutSamples(0)
	{
		CONFIGVARIANT var(mic ? N_AUDIO_DEVICE1 : N_AUDIO_DEVICE0, CONFIG_TYPE_CHAR);
		if(LoadSetting(mPort, APINAME, var) && !var.strValue.empty())
		{
			mDevice = var.strValue;
			//TODO open device etc.
		}
		else
			throw AudioSourceError(APINAME ": failed to load device settings");

		{
			CONFIGVARIANT var(N_BUFFER_LEN, CONFIG_TYPE_INT);
			if(LoadSetting(mPort, APINAME, var))
				mBuffering = var.intValue;
		}

		if (!AudioInit())
			throw AudioSourceError(APINAME ": failed to bind pulseaudio library");

		mSSpec.format =  PA_SAMPLE_FLOAT32LE; //PA_SAMPLE_S16LE;
		mSSpec.channels = 2;
		mSSpec.rate = 48000;

		if (!Init())
			throw AudioSourceError(APINAME ": failed to init");
	}
Exemplo n.º 2
0
bool CLuaGameObjectHandle::AddSound(const std::string &Key, const std::string &SoundEventName)
{
	CAudioSource* l_AudioSource = m_GameObject->GetAudioSource();
	if (l_AudioSource)	{ return l_AudioSource->AddSound(Key,SoundEventName); }
	else { AudioSourceError(); return false; }
}
Exemplo n.º 3
0
void CLuaGameObjectHandle::PlayEvent(const std::string &Key, const C3DElement* Speaker)
{
	CAudioSource* l_AudioSource = m_GameObject->GetAudioSource();
	if (l_AudioSource)	{ l_AudioSource->PlayEvent(Key, Speaker); }
	else { AudioSourceError(); }
}
Exemplo n.º 4
0
void CLuaGameObjectHandle::EnableAudioSource(bool Value)
{
	CAudioSource* l_AudioSource = m_GameObject->GetAudioSource();
	if (l_AudioSource)	{ if (Value) l_AudioSource->Enable(); else l_AudioSource->Disable(); }
	else { AudioSourceError(); }
}