|
Ocean
|
This class implements a microphone class for Android. More...
#include <AMicrophone.h>
Public Member Functions | |
| bool | start () override |
| Starts the medium. | |
| bool | pause () override |
| Pauses the medium. | |
| bool | stop () override |
| Stops the medium. | |
| bool | isStarted () const override |
| Returns whether the medium is started currently. | |
| Timestamp | startTimestamp () const override |
| Returns the start timestamp. | |
| Timestamp | pauseTimestamp () const override |
| Returns the pause timestamp. | |
| Timestamp | stopTimestamp () const override |
| Returns the stop timestamp. | |
Public Member Functions inherited from Ocean::Media::Medium | |
| const std::string & | url () const |
| Returns the url of the medium. | |
| bool | isValid () const |
| Returns whether the medium is valid. | |
| const std::string & | library () const |
| Returns the name of the owner library. | |
| Type | type () const |
| Returns the type of the medium. | |
| bool | isType (const Type type) const |
| Returns whether a medium has a given type. | |
| bool | isExclusive () const |
| Returns whether this medium can be use exclusively. | |
| virtual MediumRef | clone () const |
| Clones this medium and returns a new independent instance of this medium. | |
Public Member Functions inherited from Ocean::Media::Microphone | |
| virtual MicrophoneTypes | microphoneTypes () const |
| Returns the type of this microphone. | |
| virtual MicrophoneConfigurations | microphoneConfigurations () const |
| Returns the configuration of this microphone. | |
| virtual SamplesScopedSubscription | addSamplesCallback (SamplesCallbackFunction samplesCallbackFunction) |
| Adds a new callback function for samples events. | |
Public Member Functions inherited from Ocean::Media::ConfigMedium | |
| virtual bool | configuration (const std::string &name, long long data) |
| Starts a configuration possibility. | |
| virtual ConfigNames | configs () const |
| Returns the names of the configuration possibilities. | |
Static Public Member Functions | |
| static constexpr size_t | monoChunkElements () |
| Returns the size of one mono chunk in elements. | |
Static Public Member Functions inherited from Ocean::Media::Android::AMedium | |
| static bool | areInterfaceIdsIdentical (const SLInterfaceID &interfaceId0, const SLInterfaceID &interfaceId1) |
| Returns whether two interface ids are identical. | |
| static std::string | toAString (const SLInterfaceID &interfaceId) |
| Returns the hex string of an interface id,. | |
Static Public Member Functions inherited from Ocean::Media::Medium | |
| static std::string | convertType (const Type type) |
| Converts a medium type to a unique string. | |
| static Type | convertType (const std::string &type) |
| Converts a medium type string to a medium type. | |
Protected Types | |
| typedef std::vector< int16_t > | Buffer |
| Definition of a vector holding sample elements. | |
Protected Types inherited from Ocean::Media::Microphone | |
| using | SamplesCallbackHandler = ScopedSubscriptionCallbackHandlerT< SamplesCallbackFunction, Microphone, true > |
| Definition of a subscription handler for voip samples events. | |
Protected Member Functions | |
| AMicrophone (const SLEngineItf &slEngineInterface, const std::string &url) | |
| Creates a new medium by a given url. | |
| ~AMicrophone () override | |
| Destructs the live video object. | |
| bool | initialize (const SLEngineItf &slEngineInterface, const MicrophoneTypes microphoneTypes, const MicrophoneConfigurations microphoneConfigurations) |
| Initializes the audio and all corresponding resources. | |
| bool | release () |
| Releases the audio and all corresponding resources. | |
| void | onFillBufferQueueCallback (SLAndroidSimpleBufferQueueItf bufferQueue) |
| Event callback function to fill the OpenSL buffer queue. | |
Protected Member Functions inherited from Ocean::Media::Android::AMedium | |
| AMedium (const std::string &url) | |
| Creates a new medium by a given url. | |
Protected Member Functions inherited from Ocean::Media::Medium | |
| Medium (const Medium &medium)=delete | |
| Disabled copy constructor. | |
| Medium (const std::string &url) | |
| Creates a new medium by a given url. | |
| virtual | ~Medium () |
| Destructs a medium. | |
| Medium & | operator= (const Medium &medium)=delete |
| Disabled copy operator. | |
Protected Member Functions inherited from Ocean::Media::Microphone | |
| Microphone (const std::string &url) | |
| Creates a new microphone by a given url. | |
| void | sendSamples (const SamplesType samplesType, const void *data, const size_t size) |
| Sends samples to all subscribed callback functions. | |
Protected Member Functions inherited from Ocean::Media::LiveMedium | |
| LiveMedium (const std::string &url) | |
| Creates a new live medium by a given url. | |
Protected Member Functions inherited from Ocean::Media::ConfigMedium | |
| ConfigMedium (const std::string &url) | |
| Creates a new ConfigMedium object by a given url. | |
Static Protected Member Functions | |
| static void | onFillBufferQueueCallback (SLAndroidSimpleBufferQueueItf bufferQueue, void *context) |
| Static event callback function to fill the OpenSL buffer queue. | |
Protected Attributes | |
| Timestamp | startTimestamp_ = Timestamp(false) |
| Start timestamp. | |
| Timestamp | pauseTimestamp_ = Timestamp(false) |
| Pause timestamp. | |
| Timestamp | stopTimestamp_ = Timestamp(false) |
| Stop timestamp. | |
| SLObjectItf | slRecorder_ = nullptr |
| The SL recorder object. | |
| SLRecordItf | slRecordInterface_ = nullptr |
| The SL recorder interface. | |
| SLAndroidSimpleBufferQueueItf | slBufferQueueInterface_ = nullptr |
| THe SL buffer queue interface. | |
| std::queue< Buffer > | bufferQueue_ |
| The buffer for the sample queue. | |
| SLAndroidEffectItf | slAcousticEchoCancelEffect_ = nullptr |
| The SL effect interface for the acoustic echo cancel effect. | |
| SLInterfaceID | slAcousticEchoCancelerEffectImplementationId_ = nullptr |
| The SL implementation id of the acoustic echo cancel effect. | |
Protected Attributes inherited from Ocean::Media::Medium | |
| std::string | url_ |
| Url of the medium. | |
| std::string | libraryName_ |
| Name of the owner library. | |
| bool | isValid_ = false |
| Determines whether the medium is valid. | |
| Type | type_ = MEDIUM |
| Type of the medium. | |
| Lock | lock_ |
| Medium lock. | |
Protected Attributes inherited from Ocean::Media::Microphone | |
| MicrophoneTypes | microphoneTypes_ = MT_UNKNOWN |
| The microphone's types. | |
| MicrophoneConfigurations | microphoneConfigurations_ = MC_DEFAULT |
| The microphone's configurations. | |
| SamplesCallbackHandler | samplesCallbackHandler_ |
| The handler for samples callback functions. | |
Static Protected Attributes | |
| static constexpr SLuint32 | numberBuffers_ = 4u |
| The number of buffers in the queue. | |
Friends | |
| class | ALibrary |
Additional Inherited Members | |
Public Types inherited from Ocean::Media::Medium | |
| enum | Type : uint32_t { MEDIUM = 0u , FRAME_MEDIUM = 1u << 0u , SOUND_MEDIUM = 1u << 1u , FINITE_MEDIUM = 1u << 2u , LIVE_MEDIUM = 1u << 3u , CONFIG_MEDIUM = 1u << 4u , AUDIO = (1u << 5u) | FINITE_MEDIUM | SOUND_MEDIUM , IMAGE = (1u << 6u) | FRAME_MEDIUM , PIXEL_IMAGE = (1u << 7u) | FRAME_MEDIUM , BUFFER_IMAGE = (1u << 8u) | FRAME_MEDIUM , IMAGE_SEQUENCE = (1u << 9u) | FRAME_MEDIUM | FINITE_MEDIUM , LIVE_AUDIO = (1u << 10u) | LIVE_MEDIUM | SOUND_MEDIUM , LIVE_VIDEO = (1u << 11u) | LIVE_MEDIUM | FRAME_MEDIUM , MICROPHONE = (1u << 12u) | LIVE_MEDIUM , MOVIE = (1u << 13u) | FINITE_MEDIUM | FRAME_MEDIUM | SOUND_MEDIUM } |
| Definition of different medium types. More... | |
Public Types inherited from Ocean::Media::Microphone | |
| enum | MicrophoneTypes : uint32_t { MT_UNKNOWN = 0u , MT_BUILTIN = 1u << 0u , MT_EXTERNAL = 1u << 1u , MT_ANY = MT_BUILTIN | MT_EXTERNAL } |
| Definition of individual microphone types. More... | |
| enum | MicrophoneConfigurations : uint32_t { MC_DEFAULT = 0u , MC_VOICE_COMMUNICATION = 1u << 0u , MC_PERFORMANCE = 1u << 1u , MC_GAINED = 1u << 2u } |
| Definition of individual microphone configurations. More... | |
| enum | SamplesType : uint32_t { ST_INVALID = 0u , ST_INTEGER_16_MONO_48 } |
| Definition of individual samples types. More... | |
| using | SamplesCallbackFunction = std::function< void(const SamplesType samplesType, const void *data, const size_t size)> |
| Definition of a callback function for microphone samples. | |
| using | SamplesScopedSubscription = ScopedSubscriptionHandler::ScopedSubscriptionType |
| Definition of a subscription object for microphone samples. | |
Public Types inherited from Ocean::Media::ConfigMedium | |
| typedef std::vector< std::string > | ConfigNames |
| Definition of a vector holding configuration names. | |
Static Public Attributes inherited from Ocean::Media::Android::AMedium | |
| static constexpr SLInterfaceID_ | slEffectTypeNoiseSuppressorId_ = {0x58b4b260, 0x8e06, 0x11e0, 0xaa8e, {0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b}} |
| Definition of the interface for Noise Suppressor (NS). | |
| static constexpr SLInterfaceID_ | slEffectTypeAcousticEchoCancelerId_ = {0x7b491460, 0x8d4d, 0x11e0, 0xbd61, {0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b}} |
| Definition of the interface for Acoustic Echo Canceler (AEC). | |
This class implements a microphone class for Android.
|
protected |
Definition of a vector holding sample elements.
|
protected |
Creates a new medium by a given url.
| slEngineInterface | The interface of the SL engine, must be valid |
| url | Url of the medium |
|
overrideprotected |
Destructs the live video object.
|
protected |
Initializes the audio and all corresponding resources.
| slEngineInterface | The interface of the SL engine, must be valid |
| microphoneTypes | The types of the microphone to create |
| microphoneConfigurations | The configurations of the microphone to create |
|
overridevirtual |
Returns whether the medium is started currently.
Implements Ocean::Media::Medium.
|
staticconstexpr |
Returns the size of one mono chunk in elements.
|
protected |
Event callback function to fill the OpenSL buffer queue.
| bufferQueue | The buffer queue to fill with the next samples, must be valid |
|
staticprotected |
Static event callback function to fill the OpenSL buffer queue.
| bufferQueue | The buffer queue to fill with the next samples, must be valid |
| context | The context of the event (the ALiveAudio object), must be valid |
|
overridevirtual |
|
overridevirtual |
Returns the pause timestamp.
Implements Ocean::Media::Medium.
|
protected |
Releases the audio and all corresponding resources.
|
overridevirtual |
|
overridevirtual |
Returns the start timestamp.
Implements Ocean::Media::Medium.
|
overridevirtual |
|
overridevirtual |
|
protected |
The buffer for the sample queue.
|
staticconstexprprotected |
The number of buffers in the queue.
Pause timestamp.
|
protected |
The SL effect interface for the acoustic echo cancel effect.
|
protected |
The SL implementation id of the acoustic echo cancel effect.
|
protected |
THe SL buffer queue interface.
|
protected |
The SL recorder object.
|
protected |
The SL recorder interface.
Start timestamp.
Stop timestamp.