kaudiorecordstream.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _KAUDIORECORDSTREAM__H
00026 #define _KAUDIORECORDSTREAM__H
00027
00028 #include <qobject.h>
00029
00030 #include <kdelibs_export.h>
00031
00032 class KArtsServer;
00033 namespace Arts { class StereoEffectStack; }
00034
00041 class KDE_ARTS_EXPORT KAudioRecordStream : public QObject
00042 {
00043 Q_OBJECT
00044
00045 public:
00054 KAudioRecordStream( KArtsServer * server, const QString & title, QObject * parent = 0, const char * name = 0 );
00055
00056 ~KAudioRecordStream();
00057
00066 int read( char *, int size );
00067
00074 void setBlockingIO( bool );
00075
00081 bool blockingIO() const;
00082
00091 void usePolling( bool );
00092
00098 bool polling() const;
00099
00103 Arts::StereoEffectStack effectStack() const;
00104
00109 bool running() const;
00110
00111 public slots:
00116 void stop();
00117
00130 void start( int samplingRate, int bits, int channels );
00131
00135 void flush();
00136
00137 signals:
00145 void data( QByteArray & data );
00146
00151 void running( bool );
00152
00153 private slots:
00154 void slotRestartedServer();
00155 void slotData( const char *, unsigned int );
00156
00157 private:
00158 KAudioRecordStream( const KAudioRecordStream & );
00159 KAudioRecordStream & operator=( const KAudioRecordStream & );
00160
00161 struct Data;
00162 Data * d;
00163 };
00164
00165 #endif //_KAUDIORECORDSTREAM__H
|