]> git.saurik.com Git - wxWidgets.git/blob - interface/wx/sound.h
hook the docview-specific customization of event handling logic at TryValidator(...
[wxWidgets.git] / interface / wx / 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
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
14 on Windows and Unix (and uses either
15 Open Sound System or
16 Simple DirectMedia Layer).
17
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.
29
30 @param fileName
31 The filename or Windows resource.
32 @param isResource
33 @true if fileName is a resource, @false if it is a filename.
34 */
35 wxSound();
36 wxSound(const wxString& fileName, bool isResource = false);
37 //@}
38
39 /**
40 Destroys the wxSound object.
41 */
42 ~wxSound();
43
44 /**
45 Constructs a wave object from a file or resource.
46
47 @param fileName
48 The filename or Windows resource.
49 @param isResource
50 @true if fileName is a resource, @false if it is a filename.
51
52 @return @true if the call was successful, @false otherwise.
53 */
54 bool Create(const wxString& fileName, bool isResource = false);
55
56 /**
57 Returns @true if the object contains a successfully loaded file or resource,
58 @false otherwise.
59 */
60 bool IsOk() const;
61
62 /**
63 Returns @true if a sound is played at the moment.
64 This method is currently not implemented under Windows.
65 */
66 static bool IsPlaying() const;
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.
76 The possible values for @a flags are:
77
78 wxSOUND_SYNC
79
80 @c Play will block and wait until the sound is
81 replayed.
82
83 wxSOUND_ASYNC
84
85 Sound is played asynchronously,
86 @c Play returns immediately
87
88 wxSOUND_ASYNC | wxSOUND_LOOP
89
90 Sound is played asynchronously
91 and loops until another sound is played,
92 Stop() is called or the program terminates.
93
94 The static form is shorthand for this code:
95 */
96 bool Play(unsigned flags = wxSOUND_ASYNC);
97 const static bool Play(const wxString& filename,
98 unsigned flags = wxSOUND_ASYNC);
99 //@}
100
101 /**
102 If a sound is played, this function stops it.
103 */
104 static void Stop();
105 };
106