diff --git a/en/application-dev/reference/apis/js-apis-audio.md b/en/application-dev/reference/apis/js-apis-audio.md index 722ab3290df75ba678ade06d64a8d6f08fa582c5..0b31d38d305281fec2aa327959de91e1833e409f 100644 --- a/en/application-dev/reference/apis/js-apis-audio.md +++ b/en/application-dev/reference/apis/js-apis-audio.md @@ -1325,7 +1325,7 @@ Sets a device to the active state. This API uses an asynchronous callback to ret **Example** ``` -audioManager.setDeviceActive(audio.DeviceType.SPEAKER, true, (err) => { +audioManager.setDeviceActive(audio.ActiveDeviceType.SPEAKER, true, (err) => { if (err) { console.error('Failed to set the active status of the device. ${err.message}'); return; @@ -1359,7 +1359,7 @@ Sets a device to the active state. This API uses a promise to return the result. ``` -audioManager.setDeviceActive(audio.DeviceType.SPEAKER, true).then(() => { +audioManager.setDeviceActive(audio.ActiveDeviceType.SPEAKER, true).then(() => { console.log('Promise returned to indicate that the device is set to the active status.'); }); ``` @@ -1382,7 +1382,7 @@ Checks whether a device is active. This API uses an asynchronous callback to ret **Example** ``` -audioManager.isDeviceActive(audio.DeviceType.SPEAKER, (err, value) => { +audioManager.isDeviceActive(audio.ActiveDeviceType.SPEAKER, (err, value) => { if (err) { console.error('Failed to obtain the active status of the device. ${err.message}'); return; @@ -1415,7 +1415,7 @@ Checks whether a device is active. This API uses a promise to return the result. **Example** ``` -audioManager.isDeviceActive(audio.DeviceType.SPEAKER).then((value) => { +audioManager.isDeviceActive(audio.ActiveDeviceType.SPEAKER).then((value) => { console.log('Promise returned to indicate that the active status of the device is obtained.' + value); }); ``` @@ -1649,7 +1649,7 @@ var interAudioInterrupt = { contentType:0, pauseWhenDucked:true }; -this.audioManager.on('interrupt', interAudioInterrupt, (InterruptAction) => { +audioManager.on('interrupt', interAudioInterrupt, (InterruptAction) => { if (InterruptAction.actionType === 0) { console.log("An event to gain the audio focus starts."); console.log("Focus gain event:" + JSON.stringify(InterruptAction)); @@ -1685,7 +1685,7 @@ var interAudioInterrupt = { contentType:0, pauseWhenDucked:true }; -this.audioManager.off('interrupt', interAudioInterrupt, (InterruptAction) => { +audioManager.off('interrupt', interAudioInterrupt, (InterruptAction) => { if (InterruptAction.actionType === 0) { console.log("An event to release the audio focus starts."); console.log("Focus release event:" + JSON.stringify(InterruptAction)); @@ -1747,7 +1747,7 @@ This is a system API and cannot be called by third-party applications. **Example** ``` -audioManager.setAudioScene(audio.AudioSceneMode.AUDIO_SCENE_PHONE_CALL).then(() => { +audioManager.setAudioScene(audio.AudioScene.AUDIO_SCENE_PHONE_CALL).then(() => { console.log('Promise returned to indicate a successful setting of the audio scene mode.'); }).catch ((err) => { console.log('Failed to set the audio scene mode'); @@ -1906,6 +1906,7 @@ Obtains the renderer information of this **AudioRenderer** instance. This API us **Example** ``` +var resultFlag = true; audioRenderer.getRendererInfo().then((rendererInfo) => { console.log('Renderer GetRendererInfo:'); console.log('Renderer content:' + rendererInfo.content); @@ -2352,13 +2353,11 @@ Obtains a reasonable minimum buffer size in bytes for rendering. This API uses a **Example** ``` -audioRenderer.getBufferSize((err, bufferSize) => { +var bufferSize = audioRenderer.getBufferSize(async(err, bufferSize) => { if (err) { console.error('getBufferSize error'); } }); -let buf = new ArrayBuffer(bufferSize); -ss.readSync(buf); ``` ### getBufferSize8+ @@ -2378,11 +2377,12 @@ Obtains a reasonable minimum buffer size in bytes for rendering. This API uses a **Example** ``` -audioRenderer.getBufferSize().then((bufferSize) => { - let buf = new ArrayBuffer(bufferSize); - ss.readSync(buf); +var bufferSize; +await audioRenderer.getBufferSize().then(async function (data) => { + console.info('AudioFrameworkRenderLog: getBufferSize :SUCCESS '+data); + bufferSize=data; }).catch((err) => { - console.log('ERROR: '+err.message); + console.info('AudioFrameworkRenderLog: getBufferSize :ERROR : '+err.message); }); ``` @@ -2507,7 +2507,9 @@ Subscribes to audio interruption events. This API uses a callback to get interru **Example** ``` -audioRenderer.on('interrupt', (interruptEvent) => { +var isPlay; +var started; +audioRenderer.on('interrupt', async(interruptEvent) => { if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_FORCE) { switch (interruptEvent.hintType) { case audio.InterruptHint.INTERRUPT_HINT_PAUSE: @@ -2520,14 +2522,33 @@ audioRenderer.on('interrupt', (interruptEvent) => { break; } } else if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_SHARE) { - switch (interruptEvent.hintType) { + switch (interruptEvent.hintType) { case audio.InterruptHint.INTERRUPT_HINT_RESUME: console.log('Resume force paused renderer or ignore'); - startRenderer(); + await audioRenderer.start().then(async function () { + console.info('AudioInterruptMusic: renderInstant started :SUCCESS '); + started = true; + }).catch((err) => { + console.info('AudioInterruptMusic: renderInstant start :ERROR : '+err.message); + started = false; + }); + if (started) { + isPlay = true; + console.info('AudioInterruptMusic Renderer started : isPlay : '+isPlay); + } else { + console.error('AudioInterruptMusic Renderer start failed'); + } break; case audio.InterruptHint.INTERRUPT_HINT_PAUSE: console.log('Choose to pause or ignore'); - pauseRenderer(); + if (isPlay == true) { + isPlay == false; + console.info('AudioInterruptMusic: Media PAUSE : TRUE'); + } + else { + isPlay = true; + console.info('AudioInterruptMusic: Media PLAY : TRUE'); + } break; } } @@ -2988,7 +3009,7 @@ audioCapturer.read(bufferSize, true, async(err, buffer) => { if (!err) { console.log("Success in reading the buffer data"); } -}; +}); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-audio.md b/zh-cn/application-dev/reference/apis/js-apis-audio.md index 3820d4c5332d5efa0e3d10b88e04e4ad11f9c5b8..16cca55db58611b2dd352c7a40a8b551a353c30d 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-audio.md +++ b/zh-cn/application-dev/reference/apis/js-apis-audio.md @@ -1338,7 +1338,7 @@ setDeviceActive(deviceType: ActiveDeviceType, active: boolean, callback: AsyncCa **示例:** ``` -audioManager.setDeviceActive(audio.DeviceType.SPEAKER, true, (err) => { +audioManager.setDeviceActive(audio.ActiveDeviceType.SPEAKER, true, (err) => { if (err) { console.error('Failed to set the active status of the device. ${err.message}'); return; @@ -1372,7 +1372,7 @@ setDeviceActive(deviceType: ActiveDeviceType, active: boolean): Promise<void& ``` -audioManager.setDeviceActive(audio.DeviceType.SPEAKER, true).then(() => { +audioManager.setDeviceActive(audio.ActiveDeviceType.SPEAKER, true).then(() => { console.log('Promise returned to indicate that the device is set to the active status.'); }); ``` @@ -1395,7 +1395,7 @@ isDeviceActive(deviceType: ActiveDeviceType, callback: AsyncCallback<boolean& **示例:** ``` -audioManager.isDeviceActive(audio.DeviceType.SPEAKER, (err, value) => { +audioManager.isDeviceActive(audio.ActiveDeviceType.SPEAKER, (err, value) => { if (err) { console.error('Failed to obtain the active status of the device. ${err.message}'); return; @@ -1428,7 +1428,7 @@ isDeviceActive(deviceType: ActiveDeviceType): Promise<boolean> **示例:** ``` -audioManager.isDeviceActive(audio.DeviceType.SPEAKER).then((value) => { +audioManager.isDeviceActive(audio.ActiveDeviceType.SPEAKER).then((value) => { console.log('Promise returned to indicate that the active status of the device is obtained.' + value); }); ``` @@ -1670,7 +1670,7 @@ var interAudioInterrupt = { contentType:0, pauseWhenDucked:true }; -this.audioManager.on('interrupt', interAudioInterrupt, (InterruptAction) => { +audioManager.on('interrupt', interAudioInterrupt, (InterruptAction) => { if (InterruptAction.actionType === 0) { console.log("An event to gain the audio focus starts."); console.log("Focus gain event:" + JSON.stringify(InterruptAction)); @@ -1706,7 +1706,7 @@ var interAudioInterrupt = { contentType:0, pauseWhenDucked:true }; -this.audioManager.off('interrupt', interAudioInterrupt, (InterruptAction) => { +audioManager.off('interrupt', interAudioInterrupt, (InterruptAction) => { if (InterruptAction.actionType === 0) { console.log("An event to release the audio focus starts."); console.log("Focus release event:" + JSON.stringify(InterruptAction)); @@ -1768,7 +1768,7 @@ setAudioScene\(scene: AudioScene\): Promise **示例:** ``` -audioManager.setAudioScene(audio.AudioSceneMode.AUDIO_SCENE_PHONE_CALL).then(() => { +audioManager.setAudioScene(audio.AudioScene.AUDIO_SCENE_PHONE_CALL).then(() => { console.log('Promise returned to indicate a successful setting of the audio scene mode.'); }).catch ((err) => { console.log('Failed to set the audio scene mode'); @@ -1927,6 +1927,7 @@ getRendererInfo(): Promise **示例:** ``` +var resultFlag = true; audioRenderer.getRendererInfo().then((rendererInfo) => { console.log('Renderer GetRendererInfo:'); console.log('Renderer content:' + rendererInfo.content); @@ -2373,13 +2374,11 @@ getBufferSize(callback: AsyncCallback\): void **示例:** ``` -audioRenderer.getBufferSize((err, bufferSize) => { +var bufferSize = audioRenderer.getBufferSize(async(err, bufferSize) => { if (err) { console.error('getBufferSize error'); } }); -let buf = new ArrayBuffer(bufferSize); -ss.readSync(buf); ``` ### getBufferSize8+ @@ -2399,11 +2398,12 @@ getBufferSize(): Promise\ **示例:** ``` -audioRenderer.getBufferSize().then((bufferSize) => { - let buf = new ArrayBuffer(bufferSize); - ss.readSync(buf); +var bufferSize; +await audioRenderer.getBufferSize().then(async function (data) => { + console.info('AudioFrameworkRenderLog: getBufferSize :SUCCESS '+data); + bufferSize=data; }).catch((err) => { - console.log('ERROR: '+err.message); + console.info('AudioFrameworkRenderLog: getBufferSize :ERROR : '+err.message); }); ``` @@ -2528,7 +2528,9 @@ on(type: 'interrupt', callback: Callback\): void **示例:** ``` -audioRenderer.on('interrupt', (interruptEvent) => { +var isPlay; +var started; +audioRenderer.on('interrupt', async(interruptEvent) => { if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_FORCE) { switch (interruptEvent.hintType) { case audio.InterruptHint.INTERRUPT_HINT_PAUSE: @@ -2541,14 +2543,33 @@ audioRenderer.on('interrupt', (interruptEvent) => { break; } } else if (interruptEvent.forceType == audio.InterruptForceType.INTERRUPT_SHARE) { - switch (interruptEvent.hintType) { + switch (interruptEvent.hintType) { case audio.InterruptHint.INTERRUPT_HINT_RESUME: console.log('Resume force paused renderer or ignore'); - startRenderer(); + await audioRenderer.start().then(async function () { + console.info('AudioInterruptMusic: renderInstant started :SUCCESS '); + started = true; + }).catch((err) => { + console.info('AudioInterruptMusic: renderInstant start :ERROR : '+err.message); + started = false; + }); + if (started) { + isPlay = true; + console.info('AudioInterruptMusic Renderer started : isPlay : '+isPlay); + } else { + console.error('AudioInterruptMusic Renderer start failed'); + } break; case audio.InterruptHint.INTERRUPT_HINT_PAUSE: console.log('Choose to pause or ignore'); - pauseRenderer(); + if (isPlay == true) { + isPlay == false; + console.info('AudioInterruptMusic: Media PAUSE : TRUE'); + } + else { + isPlay = true; + console.info('AudioInterruptMusic: Media PLAY : TRUE'); + } break; } } @@ -3009,7 +3030,7 @@ audioCapturer.read(bufferSize, true, async(err, buffer) => { if (!err) { console.log("Success in reading the buffer data"); } -}; +}); ```