CSoundMixer.h
上传用户:snevogroup
上传日期:2008-06-06
资源大小:432k
文件大小:1k
源码类别:

Symbian

开发平台:

C/C++

  1. #ifndef __CSOUNDMIXER_H
  2. #define __CSOUNDMIXER_H
  3. #include "TSample.h"
  4. #include "TAudioShared.h"
  5. #include <E32Base.h>
  6. class CSoundMixer : public CBase
  7. {
  8. // Construct and destruct
  9. public:
  10. static CSoundMixer* NewL();
  11. ~CSoundMixer();
  12. private:
  13. CSoundMixer();
  14. void ConstructL();
  15. /////////////////////////////////////////////////////////////////
  16. // Other Method
  17. public:
  18. void Pause();
  19. void Resume();
  20. void Play( const TSample& aSample, TInt aChannel, TInt aFrequency, TInt aVolume = 256 );
  21. void Stop( TInt aChannel );
  22. void SetVolume(TInt aVolume);
  23. TInt Volume();
  24. private:
  25. void SendCmd(TMixerCmd aCmd);
  26. ////////////////////////////////////////////////////////////////
  27. // Data
  28. private:
  29. TAudioShared iShared; // shared data with mixer thread
  30. RThread iMixerThread; // handle to mixer thread
  31. TSample iEmptySample; // empty sample, used to stop channel
  32. TBool iPaused;
  33. };
  34. #endif