diff --git a/en/application-dev/reference/apis/js-apis-audio.md b/en/application-dev/reference/apis/js-apis-audio.md
index 1573ec62cc92351d959d8392f0a5e6268742bb7c..5da2213e83ae6d18cfe66227e12a143d8fe7a815 100644
--- a/en/application-dev/reference/apis/js-apis-audio.md
+++ b/en/application-dev/reference/apis/js-apis-audio.md
@@ -74,7 +74,6 @@ Creates an **AudioRenderer** instance. This API uses an asynchronous callback to
**Example**
```js
-import featureAbility from '@ohos.ability.featureAbility';
import fs from '@ohos.file.fs';
import audio from '@ohos.multimedia.audio';
@@ -129,7 +128,6 @@ Creates an **AudioRenderer** instance. This API uses a promise to return the res
**Example**
```js
-import featureAbility from '@ohos.ability.featureAbility';
import fs from '@ohos.file.fs';
import audio from '@ohos.multimedia.audio';
@@ -813,7 +811,7 @@ Describes audio capturer configurations.
| ----------------------------------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| streamInfo | [AudioStreamInfo](#audiostreaminfo8) | Yes | Audio stream information.
**System capability**: SystemCapability.Multimedia.Audio.Capturer |
| capturerInfo | [AudioCapturerInfo](#audiocapturerinfo) | Yes | Audio capturer information.
**System capability**: SystemCapability.Multimedia.Audio.Capturer |
-| playbackCaptureConfig10+ | [AudioPlaybackCaptureConfig](#audioplaybackcaptureconfig) | No | Configuration of internal audio recording.
**System capability**: SystemCapability.Multimedia.Audio.PlaybackCapture |
+| playbackCaptureConfig10+ | [AudioPlaybackCaptureConfig](#audioplaybackcaptureconfig) | No | Configuration of internal audio recording.
**System capability**: SystemCapability.Multimedia.Audio.PlaybackCapture|
## AudioCapturerInfo8+
@@ -835,7 +833,8 @@ Enumerates the audio source types.
| SOURCE_TYPE_INVALID | -1 | Invalid audio source.
**System capability**: SystemCapability.Multimedia.Audio.Core |
| SOURCE_TYPE_MIC | 0 | Mic source.
**System capability**: SystemCapability.Multimedia.Audio.Core|
| SOURCE_TYPE_VOICE_RECOGNITION9+ | 1 | Voice recognition source.
**System capability**: SystemCapability.Multimedia.Audio.Core |
-| SOURCE_TYPE_PLAYBACK_CAPTURE10+ | 2 | Internal audio recording source.
**System capability**: SystemCapability.Multimedia.Audio.PlaybackCapture |
+| SOURCE_TYPE_PLAYBACK_CAPTURE10+ | 2 | Internal audio recording source.
**System capability**: SystemCapability.Multimedia.Audio.PlaybackCapture|
+| SOURCE_TYPE_WAKEUP 10+ | 3 | Audio recording source in voice wakeup scenarios.
**System capability**: SystemCapability.Multimedia.Audio.Core
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
This is a system API.|
| SOURCE_TYPE_VOICE_COMMUNICATION | 7 | Voice communication source.
**System capability**: SystemCapability.Multimedia.Audio.Core|
## AudioPlaybackCaptureConfig10+
@@ -5226,36 +5225,32 @@ let bufferSize;
audioRenderer.getBufferSize().then((data)=> {
console.info(`AudioFrameworkRenderLog: getBufferSize: SUCCESS ${data}`);
bufferSize = data;
- }).catch((err) => {
- console.error(`AudioFrameworkRenderLog: getBufferSize: ERROR: ${err}`);
- });
-console.info(`Buffer size: ${bufferSize}`);
-let context = featureAbility.getContext();
-let path;
-async function getCacheDir(){
- path = await context.getCacheDir();
-}
-let filePath = path + '/StarWars10s-2C-48000-4SW.wav';
-let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY);
-fs.stat(path).then((stat) => {
- let buf = new ArrayBuffer(bufferSize);
- let len = stat.size % bufferSize == 0 ? Math.floor(stat.size / bufferSize) : Math.floor(stat.size / bufferSize + 1);
- for (let i = 0;i < len; i++) {
- let options = {
- offset: i * bufferSize,
- length: bufferSize
- }
- let readsize = await fs.read(file.fd, buf, options)
- let writeSize = await new Promise((resolve,reject)=>{
- audioRenderer.write(buf,(err,writeSize)=>{
- if(err){
- reject(err)
- }else{
- resolve(writeSize)
- }
+ console.info(`Buffer size: ${bufferSize}`);
+ let path = getContext().cacheDir;
+ let filePath = path + '/StarWars10s-2C-48000-4SW.wav';
+ let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY);
+ fs.stat(filePath).then(async (stat) => {
+ let buf = new ArrayBuffer(bufferSize);
+ let len = stat.size % bufferSize == 0 ? Math.floor(stat.size / bufferSize) : Math.floor(stat.size / bufferSize + 1);
+ for (let i = 0;i < len; i++) {
+ let options = {
+ offset: i * bufferSize,
+ length: bufferSize
+ }
+ let readsize = await fs.read(file.fd, buf, options)
+ let writeSize = await new Promise((resolve,reject)=>{
+ audioRenderer.write(buf,(err,writeSize)=>{
+ if(err){
+ reject(err)
+ }else{
+ resolve(writeSize)
+ }
+ })
})
- })
- }
+ }
+ });
+}).catch((err) => {
+ console.error(`AudioFrameworkRenderLog: getBufferSize: ERROR: ${err}`);
});
@@ -5282,32 +5277,28 @@ let bufferSize;
audioRenderer.getBufferSize().then((data) => {
console.info(`AudioFrameworkRenderLog: getBufferSize: SUCCESS ${data}`);
bufferSize = data;
- }).catch((err) => {
- console.info(`AudioFrameworkRenderLog: getBufferSize: ERROR: ${err}`);
+ console.info(`BufferSize: ${bufferSize}`);
+ let path = getContext().cacheDir;
+ let filePath = path + '/StarWars10s-2C-48000-4SW.wav';
+ let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY);
+ fs.stat(filePath).then(async (stat) => {
+ let buf = new ArrayBuffer(bufferSize);
+ let len = stat.size % bufferSize == 0 ? Math.floor(stat.size / bufferSize) : Math.floor(stat.size / bufferSize + 1);
+ for (let i = 0;i < len; i++) {
+ let options = {
+ offset: i * bufferSize,
+ length: bufferSize
+ }
+ let readsize = await fs.read(file.fd, buf, options)
+ try{
+ let writeSize = await audioRenderer.write(buf);
+ } catch(err) {
+ console.error(`audioRenderer.write err: ${err}`);
+ }
+ }
});
-console.info(`BufferSize: ${bufferSize}`);
-let context = featureAbility.getContext();
-let path;
-async function getCacheDir(){
- path = await context.getCacheDir();
-}
-let filePath = path + '/StarWars10s-2C-48000-4SW.wav';
-let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY);
-fs.stat(path).then((stat) => {
- let buf = new ArrayBuffer(bufferSize);
- let len = stat.size % bufferSize == 0 ? Math.floor(stat.size / bufferSize) : Math.floor(stat.size / bufferSize + 1);
- for (let i = 0;i < len; i++) {
- let options = {
- offset: i * bufferSize,
- length: bufferSize
- }
- let readsize = await fs.read(file.fd, buf, options)
- try{
- let writeSize = await audioRenderer.write(buf);
- } catch(err) {
- console.error(`audioRenderer.write err: ${err}`);
- }
- }
+}).catch((err) => {
+ console.info(`AudioFrameworkRenderLog: getBufferSize: ERROR: ${err}`);
});
```
diff --git a/en/application-dev/reference/errorcodes/errorcode-ability.md b/en/application-dev/reference/errorcodes/errorcode-ability.md
index dd6da1a775f5299935206b19929464d09bc43ba9..c3c3b7b4e4ffcb931f214dfcb2e75546ba1f4b15 100644
--- a/en/application-dev/reference/errorcodes/errorcode-ability.md
+++ b/en/application-dev/reference/errorcodes/errorcode-ability.md
@@ -76,7 +76,7 @@ Visibility verification fails.
**Solution**
-Check whether the application meets the visibility restriction of the started application.
+Check whether **exported** under the **Ability** field in the **module.json5** file of the application is set to **true**. If this parameter is set to **true**, the ability can be invoked by other applications. If this parameter is set to **false**, the ability cannot be invoked by other applications.
## 16000006 Cross-User Operation Is Not Allowed
diff --git a/en/application-dev/tools/lldb-tool.md b/en/application-dev/tools/lldb-tool.md
index 630d9b3ee25a3cd13ab9fade2ffb508822b3a181..f1a14e5a58343e99548b78cc1300b7b8041db749 100644
--- a/en/application-dev/tools/lldb-tool.md
+++ b/en/application-dev/tools/lldb-tool.md
@@ -2,7 +2,7 @@
## Overview
Low Lever Debugger (LLDB) is a next-generation high-performance debugger.
-LLDB is developed based on the [llvm15.0.4](https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.4) and supports debugging on the home screen and OpenHarmony devices or simulators.
+LLDB is developed based on [LLVM 15.0.4](https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.4) and supports debugging on the home screen and OpenHarmony devices or emulators.
## How to Obtain
Obtain the OpenHarmony SDK from http://ci.openharmony.cn/workbench/cicd/dailybuild.
@@ -45,7 +45,7 @@ For example, for Windows, **lldb.exe** is stored in the following path after the
### Remote Debugging
-> **Note: During remote debugging, the LLDB server and LLDB must be used together.**
+> **Note: During remote debugging, lldb-server and lldb must be used together.**
- Debugging the OHOS device on the Windows platform (Arm architecture)
- Debugging the OHOS device on the Windows platform (AArch64 architecture)
- Debugging the simulator on the Windows platform
@@ -99,11 +99,11 @@ For example, for Windows, **lldb.exe** is stored in the following path after the
## Functions Provided by LLDB
- Loading a program to LLDB
- Setting a breakpoint
-- Setting an observation point
+- Setting a watchpoint
- Starting or attaching to a program
- Executing a control program
- Checking the thread status
- Checking the stack frame status
## References
-For details about other functions and commands, see [LLDB Usage Guide](https://gitee.com/openharmony/third_party_llvm-project/blob/master/lldb/README.md)
+For details about other functions and commands, see [LLDB](https://gitee.com/openharmony/third_party_llvm-project/blob/master/lldb/README.md)