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