1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- //
- // redbooksound.h
- //
- // SoundEngine support for redbook audio
- //
- namespace SoundEngine {
- //
- // A generic disk player wrapper
- //
- class IDiskPlayer : public ISoundObject
- {
- public:
- // plays one track
- virtual HRESULT Play(int nTrack) = 0;
- // stops the CD player
- virtual HRESULT Stop() = 0;
- // returns S_OK if the CD player is playing, S_FALSE otherwise
- virtual HRESULT IsPlaying() = 0;
- // returns the current track of the CD player
- virtual HRESULT GetCurrentTrack(int& nTrack) = 0;
- // sets the gain on the CD player, from 0 to -100 dB
- virtual HRESULT SetGain(float fGain) = 0;
- };
- //
- // Helper functions
- //
- // Creates a new disk player object (CD, minidisk, etc.). strDevice can be
- // empty (choose any device), a path ("E:\"), or a volume label.
- HRESULT CreateDiskPlayer(TRef<IDiskPlayer>& pdiskplayer, const ZString& strDevice = "");
- // Creates a new disk player object that only has stubs for each of the calls
- HRESULT CreateDummyDiskPlayer(TRef<IDiskPlayer>& pdiskplayer);
- // creates a sound template representing a redbook audio track
- HRESULT CreateRedbookSoundTemplate(TRef<ISoundTemplate>& pstDest, TRef<IDiskPlayer> diskPlayer, int nTrack);
- };
|