]> git.saurik.com Git - wxWidgets.git/blame - interface/sound.h
rename fobr95.{cpp,h} files to foobar.{cpp,h}
[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.
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.
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.
23324ae1
FM
52
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:
23324ae1
FM
78
79 wxSOUND_SYNC
80
23324ae1
FM
81 @c Play will block and wait until the sound is
82 replayed.
83
84 wxSOUND_ASYNC
85
7c913512 86 Sound is played asynchronously,
23324ae1
FM
87 @c Play returns immediately
88
89 wxSOUND_ASYNC | wxSOUND_LOOP
90
23324ae1 91 Sound is played asynchronously
7c913512 92 and loops until another sound is played,
23324ae1
FM
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);
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