wxWidgets/include/wx/mac/carbon/sound.h
2004-07-31 07:36:13 +00:00

60 lines
1.4 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: sound.h
// Purpose: wxSound class (loads and plays short Windows .wav files).
// Optional on non-Windows platforms.
// Author: Ryan Norton, Stefan Csomor
// Modified by:
// Created: 1998-01-01
// RCS-ID: $Id$
// Copyright: (c) Ryan Norton, Stefan Csomor
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_SOUND_H_
#define _WX_SOUND_H_
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "sound.h"
#endif
#if wxUSE_SOUND
#include "wx/object.h"
class WXDLLEXPORT wxSound : public wxSoundBase
{
public:
wxSound();
wxSound(const wxString& fileName, bool isResource = FALSE);
wxSound(int size, const wxByte* data);
~wxSound();
public:
bool Create(const wxString& fileName, bool isResource = FALSE);
bool IsOk() const { return !m_sndname.IsEmpty(); }
static void Stop();
static bool IsPlaying();
void* GetHandle();
protected:
bool DoPlay(unsigned flags) const;
private:
wxString m_sndname; //file path
char* m_hSnd; //pointer to resource or memory location
int m_waveLength; //size of file in memory mode
void* m_pTimer; //timer
enum wxSoundType
{
wxSound_MEMORY,
wxSound_FILE,
wxSound_RESOURCE,
wxSound_NONE
} m_type; //mode
};
#endif
#endif
// _WX_SOUND_H_