diff --git a/en/application-dev/reference/native-lib/Readme-EN.md b/en/application-dev/reference/native-lib/Readme-EN.md index b4ff288c488dd634d357633eadee1ba1d96ff5fa..90c56ca94eb332a986bd2e3b33260a1e691c400a 100644 --- a/en/application-dev/reference/native-lib/Readme-EN.md +++ b/en/application-dev/reference/native-lib/Readme-EN.md @@ -6,3 +6,4 @@ - [Native API Symbols Not Exported](third_party_libc/musl-peculiar-symbol.md) - [EGL Symbols Exported from Native APIs](third_party_opengl/egl-symbol.md) - [OpenGL ES 3.0 Symbols Exported from Native APIs](third_party_opengl/openglesv3-symbol.md) + - [OpenSL ES Interfaces Supported by Native API](third_party_opensles/opensles.md) \ No newline at end of file diff --git a/en/application-dev/reference/native-lib/third_party_libc/musl.md b/en/application-dev/reference/native-lib/third_party_libc/musl.md index e791dcd86d0c0bb1fa725fa63f203ebd139d22aa..e206efd2a1be0f88704e48d2edf0043e9493545c 100644 --- a/en/application-dev/reference/native-lib/third_party_libc/musl.md +++ b/en/application-dev/reference/native-lib/third_party_libc/musl.md @@ -17,11 +17,14 @@ The C standard library is a C11 standard library implemented by: -libc: provides thread-related functions and a majority of standard functions. +- libc: provides thread-related functions and a majority of standard functions. -libm: provides basic mathematical functions. -libdl: provides functions related to dynamic linking, such as **dlopen**. +- libm: provides basic mathematical functions. + + +- libdl: provides functions related to dynamic linking, such as **dlopen**. + **Version** @@ -31,7 +34,7 @@ libdl: provides functions related to dynamic linking, such as **dlopen**. C standard library includes a set of header files in accordance with standard C and provides common functions, such as the functions related to input/output (I/O) and string control. -**musl** +**musl** [Native API Symbols Not Exported](musl-peculiar-symbol.md) @@ -49,7 +52,11 @@ The C++11 and C++14 standards are supported, and the C++17 and C++20 standards a ## OpenSL ES -[OpenSL ES](https://www.khronos.org/registry/OpenSL-ES/) is an embedded, cross-platform audio processing library. +[OpenGL ES](https://www.khronos.org/opengles/) is an embedded, cross-platform audio processing library. + +**Capabilities** + +[OpenSL ES Interfaces Supported by Native APIs](../third_party_opensles/opensles.md) ## zlib diff --git a/en/application-dev/reference/native-lib/third_party_opensles/opensles.md b/en/application-dev/reference/native-lib/third_party_opensles/opensles.md new file mode 100644 index 0000000000000000000000000000000000000000..d1d9473df3acd3bcaddb9c9cfe924ff08e541926 --- /dev/null +++ b/en/application-dev/reference/native-lib/third_party_opensles/opensles.md @@ -0,0 +1,29 @@ +# OpenSL ES Interfaces Supported by Native APIs + +## Introduction + +Open Sound Library for Embedded Systems (OpenSL ES) is a set of audio acceleration standards for embedded systems. It provides objects and APIs for developers to implement high-performance, low-latency audio features. OpenHarmony implements some native APIs based on [OpenSL ES](https://www.khronos.org/opensles/) 1.0.1 API specifications. The following table lists the related APIs. + +## Supported APIs + +|Object |External Interface |Interface Invocation |Supported |Description | +| ------------------ | -------------------- | -------------------------------------------------------------------------------------|----------| -------------------- | +|SLEngineItf |CreateAudioPlayer |CreateAudioPlayer(SLEngineItf self, SLObjectItf *pPlayer, SLDataSource *pAudioSrc, SLDataSink *pAudioSnk, SLuint32 numInterfaces, const SLInterfaceID *pInterfaceIds, const SLboolean *pInterfaceRequired) |Yes |Creates an audio player. | +|SLEngineItf |CreateAudioRecorder |reateAudioRecorder(SLEngineItf self, SLObjectItf *pRecorder, SLDataSource *pAudioSrc, SLDataSink *pAudioSnk, SLuint32 numInterfaces, const SLInterfaceID *pInterfaceIds, const SLboolean *pInterfaceRequired)|Yes |Creates an audio recorder. | +|SLEngineItf |CreateAudioOutputMix |CreateOutputMix(SLEngineItf self, SLObjectItf *pMix, SLuint32 numInterfaces, const SLInterfaceID *pInterfaceIds, const SLboolean *pInterfaceRequired)|Yes |Creates an audio output mixer. | +|SLObjectItf |Realize |Realize(SLObjectItf self, SLboolean async) |Yes |Realizes an audio player. | +|SLObjectItf |getState |GetState(SLObjectItf self, SLuint32 *state) |Yes |Obtains the state. | +|SLObjectItf |getInterface |GetInterface(SLObjectItf self, const SLInterfaceID iid, void *interface) |Yes |Obtains the interface. | +|SLObjectItf |Destroy |Destroy(SLObjectItf self) |Yes |Destroys an object. | +|SLOHBufferQueueItf |Enqueue |Enqueue(SLOHBufferQueueItf self, const void *buffer, SLuint32 size) |Yes |Adds a buffer to the queue.| +|SLOHBufferQueueItf |clear |Clear(SLOHBufferQueueItf self) |Yes |Releases the buffer queue. | +|SLOHBufferQueueItf |getState |GetState(SLOHBufferQueueItf self, SLOHBufferQueueState *state) |Yes |Obtains the BufferQueue status. | +|SLOHBufferQueueItf |getBuffer |GetBuffer(SLOHBufferQueueItf self, SLuint8 **buffer, SLuint32 *size) |Yes |Obtains a buffer. | +|SLOHBufferQueueItf |RegisterCallback |RegisterCallback(SLOHBufferQueueItf self, SlOHBufferQueueCallback callback, void *pContext) |Yes |Registers a callback. | +|SLPlayItf |SetPlayState |SetPlayState(SLPlayItf self, SLuint32 state) |Yes |Sets the playback state. | +|SLPlayItf |GetPlayState |GetPlayState(SLPlayItf self, SLuint32 *state) |Yes |Obtains the playback state. | +|SLRecordItf |SetRecordState |SetRecordState(SLRecordItf self, SLuint32 state) |Yes |Sets the recording state. | +|SLRecordItf |GetRecordState |GetRecordState(SLRecordItf self, SLuint32 *pState) |Yes |Obtains the recording state. | +|SLVolumeItf |SetVolumeLevel |SetVolumeLevel(SLVolumeItf self, SLmillibel *level) |Yes |Sets the volume. | +|SLVolumeItf |GetVolumeLevel |GetVolumeLevel(SLVolumeItf self, SLmillibel level) |Yes |Obtains the volume. | +|SLVolumeItf |GetMaxVolumeLevel |GetMaxVolumeLevel(SLVolumeItf self, SLmillibel *maxLevel) |Yes |Obtains the maximum volume. |