00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "capturedevice_p.h"
00021
00022 #ifdef Q_WS_X11
00023 #include <AL/alc.h>
00024 #endif
00025 #ifdef Q_WS_MAC
00026 #include <OpenAL/alc.h>
00027 #endif
00028
00029 using namespace GluonAudio;
00030
00031 CaptureDevice::CaptureDevice( const QString& deviceName, int frequency, int format, int buffersize )
00032 {
00033 m_device = alcCaptureOpenDevice( deviceName.toUtf8(), frequency, format, buffersize );
00034 }
00035
00036 CaptureDevice::~CaptureDevice()
00037 {
00038 alcCaptureCloseDevice( m_device );
00039 }
00040
00041 ALCint CaptureDevice::samples()
00042 {
00043 ALCint samples;
00044 alcGetIntegerv( m_device, ALC_CAPTURE_SAMPLES, 1, &samples );
00045 return samples;
00046 }
00047
00048 ALshort CaptureDevice::startCapture( ALCsizei samples )
00049 {
00050 ALshort capture;
00051 alcCaptureSamples( m_device, &capture, samples );
00052 return capture;
00053 }
00054
00055 void CaptureDevice::stopCapture()
00056 {
00057 alcCaptureStop( m_device );
00058 }