📄 audio.h
字号:
/* * main.h * * PWLib application header file for sound test. * * * $Log: audio.h,v $ * Revision 1.1 2005/08/18 22:29:15 dereksmithies * Add a full duplex sound card test (which was excised from ohphone). * Add copyright header and cvs log statements. * Fix startup and closedown segfaults. * Add safety mechanism so it can never fill up all computer memory. * * * * * * * * */ #ifndef _AUDIO_MAIN_H#define _AUDIO_MAIN_Hclass Audio : public PProcess{ PCLASSINFO(Audio, PProcess);public: Audio(); void Main(); PString GetTestDeviceName() { return devName; } static Audio & Current() { return (Audio &)PProcess::Current(); } protected: PString devName;};/////////////////////////////////////////////////////////////////////////////PDECLARE_LIST(TestAudioDevice, PBYTEArray *)#if 0 //This makes emacs bracket matching code happy.{#endif public: virtual ~TestAudioDevice(); void Test(); BOOL DoEndNow(); void WriteAudioFrame(PBYTEArray *data); PBYTEArray *GetNextAudioFrame(); protected: PMutex access; BOOL endNow;};class TestAudio : public PThread { PCLASSINFO(TestAudio, PThread)public: TestAudio(TestAudioDevice &master); virtual ~TestAudio(); virtual void Terminate() { keepGoing = FALSE; } void LowerVolume(); void RaiseVolume();protected: PString name; BOOL OpenAudio(enum PSoundChannel::Directions dir); PINDEX currentVolume; TestAudioDevice &controller; PSoundChannel sound; BOOL keepGoing;};class TestAudioRead : public TestAudio{ PCLASSINFO(TestAudioRead, TestAudio); public: TestAudioRead(TestAudioDevice &master); void Main();};class TestAudioWrite : public TestAudio{ PCLASSINFO(TestAudioWrite, TestAudio); public: TestAudioWrite(TestAudioDevice &master); void Main();};#endif // _AUDIO_MAIN_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -