Ocean
Audio.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_MEDIA_AUDIO_H
9 #define META_OCEAN_MEDIA_AUDIO_H
10 
11 #include "ocean/media/Media.h"
14 
15 namespace Ocean
16 {
17 
18 namespace Media
19 {
20 
21 // Forward declaration.
22 class Audio;
23 
24 /**
25  * Definition of a smart medium reference holding a audio object.
26  * @see SmartMediumRef, Audio.
27  * @ingroup media
28  */
30 
31 /**
32  * This class is the base class for all audio mediums.
33  * @ingroup media
34  */
35 class OCEAN_MEDIA_EXPORT Audio :
36  public virtual FiniteMedium,
37  public virtual SoundMedium
38 {
39  protected:
40 
41  /**
42  * Creates a new audio by a given url.
43  * @param url Url of the audio
44  */
45  explicit Audio(const std::string& url);
46 };
47 
48 }
49 
50 }
51 
52 #endif // META_OCEAN_MEDIA_AUDIO_H
This class is the base class for all audio mediums.
Definition: Audio.h:38
Audio(const std::string &url)
Creates a new audio by a given url.
This class is the base class for all finite mediums.
Definition: FiniteMedium.h:36
This class implements a smart medium reference.
Definition: MediumRef.h:33
This class is the base class for all sound mediums.
Definition: SoundMedium.h:38
SmartMediumRef< Audio > AudioRef
Definition of a smart medium reference holding a audio object.
Definition: Audio.h:22
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15