]> git.saurik.com Git - wxWidgets.git/blame - interface/sound.h
Added wxRichTextCtrl superscript and subscript support (Knut Petter Lehre).
[wxWidgets.git] / interface / sound.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: sound.h
e54c96f1 3// Purpose: interface of wxSound
23324ae1
FM
4// Author: wxWidgets team
5// RCS-ID: $Id$
6// Licence: wxWindows license
7/////////////////////////////////////////////////////////////////////////////
8
9/**
10 @class wxSound
11 @wxheader{sound.h}
7c913512 12
23324ae1
FM
13 This class represents a short sound (loaded from Windows WAV file), that
14 can be stored in memory and played. Currently this class is implemented
7c913512
FM
15 on Windows and Unix (and uses either
16 Open Sound System or
23324ae1 17 Simple DirectMedia Layer).
7c913512 18
23324ae1
FM
19 @library{wxadv}
20 @category{FIXME}
21*/
22class wxSound : public wxObject
23{
24public:
25 //@{
26 /**
27 Constructs a wave object from a file or, under Windows, from a Windows
28 resource. Call IsOk() to determine whether this
29 succeeded.
3c4f71cc 30
7c913512 31 @param fileName
4cc4bfaf 32 The filename or Windows resource.
7c913512 33 @param isResource
4cc4bfaf 34 @true if fileName is a resource, @false if it is a filename.
23324ae1
FM
35 */
36 wxSound();
4cc4bfaf 37 wxSound(const wxString& fileName, bool isResource = false);
23324ae1
FM
38 //@}
39
40 /**
41 Destroys the wxSound object.
42 */
43 ~wxSound();
44
45 /**
46 Constructs a wave object from a file or resource.
3c4f71cc 47
7c913512 48 @param fileName
4cc4bfaf 49 The filename or Windows resource.
7c913512 50 @param isResource
4cc4bfaf 51 @true if fileName is a resource, @false if it is a filename.
3c4f71cc 52
23324ae1
FM
53 @returns @true if the call was successful, @false otherwise.
54 */
4cc4bfaf 55 bool Create(const wxString& fileName, bool isResource = false);
23324ae1
FM
56
57 /**
58 Returns @true if the object contains a successfully loaded file or resource,
59 @false otherwise.
60 */
328f5751 61 bool IsOk() const;
23324ae1
FM
62
63 /**
64 Returns @true if a sound is played at the moment.
23324ae1
FM
65 This method is currently not implemented under Windows.
66 */
328f5751 67 static bool IsPlaying() const;
23324ae1
FM
68
69 //@{
70 /**
71 Plays the sound file. If another sound is playing, it will be interrupted.
72 Returns @true on success, @false otherwise. Note that in general it is
73 possible
74 to delete the object which is being asynchronously played any time after
75 calling this function and the sound would continue playing, however this
76 currently doesn't work under Windows for sound objects loaded from memory data.
4cc4bfaf 77 The possible values for @a flags are:
3c4f71cc 78
23324ae1 79 wxSOUND_SYNC
3c4f71cc 80
23324ae1
FM
81 @c Play will block and wait until the sound is
82 replayed.
3c4f71cc 83
23324ae1 84 wxSOUND_ASYNC
3c4f71cc 85
7c913512 86 Sound is played asynchronously,
23324ae1 87 @c Play returns immediately
3c4f71cc 88
23324ae1 89 wxSOUND_ASYNC | wxSOUND_LOOP
3c4f71cc 90
23324ae1 91 Sound is played asynchronously
7c913512 92 and loops until another sound is played,
23324ae1 93 Stop() is called or the program terminates.
3c4f71cc 94
23324ae1
FM
95 The static form is shorthand for this code:
96 */
97 bool Play(unsigned flags = wxSOUND_ASYNC);
328f5751
FM
98 const static bool Play(const wxString& filename,
99 unsigned flags = wxSOUND_ASYNC);
23324ae1
FM
100 //@}
101
102 /**
103 If a sound is played, this function stops it.
104 */
105 static void Stop();
106};
e54c96f1 107