]> git.saurik.com Git - wxWidgets.git/blob - interface/sound.h
GetSocketManager() has no GUI-specific version under Darwin finally
[wxWidgets.git] / interface / sound.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: sound.h
3 // Purpose: interface of wxSound
4 // Author: wxWidgets team
5 // RCS-ID: $Id$
6 // Licence: wxWindows license
7 /////////////////////////////////////////////////////////////////////////////
8
9 /**
10 @class wxSound
11 @wxheader{sound.h}
12
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
15 on Windows and Unix (and uses either
16 Open Sound System or
17 Simple DirectMedia Layer).
18
19 @library{wxadv}
20 @category{FIXME}
21 */
22 class wxSound : public wxObject
23 {
24 public:
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.
30
31 @param fileName
32 The filename or Windows resource.
33 @param isResource
34 @true if fileName is a resource, @false if it is a filename.
35 */
36 wxSound();
37 wxSound(const wxString& fileName, bool isResource = false);
38 //@}
39
40 /**
41 Destroys the wxSound object.
42 */
43 ~wxSound();
44
45 /**
46 Constructs a wave object from a file or resource.
47
48 @param fileName
49 The filename or Windows resource.
50 @param isResource
51 @true if fileName is a resource, @false if it is a filename.
52
53 @returns @true if the call was successful, @false otherwise.
54 */
55 bool Create(const wxString& fileName, bool isResource = false);
56
57 /**
58 Returns @true if the object contains a successfully loaded file or resource,
59 @false otherwise.
60 */
61 bool IsOk() const;
62
63 /**
64 Returns @true if a sound is played at the moment.
65 This method is currently not implemented under Windows.
66 */
67 static bool IsPlaying() const;
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.
77 The possible values for @a flags are:
78
79 wxSOUND_SYNC
80
81 @c Play will block and wait until the sound is
82 replayed.
83
84 wxSOUND_ASYNC
85
86 Sound is played asynchronously,
87 @c Play returns immediately
88
89 wxSOUND_ASYNC | wxSOUND_LOOP
90
91 Sound is played asynchronously
92 and loops until another sound is played,
93 Stop() is called or the program terminates.
94
95 The static form is shorthand for this code:
96 */
97 bool Play(unsigned flags = wxSOUND_ASYNC);
98 const static bool Play(const wxString& filename,
99 unsigned flags = wxSOUND_ASYNC);
100 //@}
101
102 /**
103 If a sound is played, this function stops it.
104 */
105 static void Stop();
106 };
107