diff --git a/en/application-dev/media/audio-playback.md b/en/application-dev/media/audio-playback.md
index cb0510742bacf95611c0ecc7e7fb648db75bb7fa..faf977c7b42644a03066947e45996a936529f8cc 100644
--- a/en/application-dev/media/audio-playback.md
+++ b/en/application-dev/media/audio-playback.md
@@ -39,38 +39,38 @@ function printfDescription(obj) {
// Set the player callbacks.
function setCallBack(audioPlayer) {
- audioPlayer.on('dataLoad', () => { // Set the 'dataLoad' event callback, which is triggered when the src attribute is set successfully.
+ audioPlayer.on('dataLoad', () => { // Set the 'dataLoad' event callback, which is triggered when the src attribute is set successfully.
console.info('audio set source success');
- audioPlayer.play(); // The play() API can be invoked only after the 'dataLoad' event callback is complete. The 'play' event callback is then triggered.
+ audioPlayer.play(); // The play() API can be invoked only after the 'dataLoad' event callback is complete. The 'play' event callback is then triggered.
});
- audioPlayer.on('play', () => { // Set the 'play' event callback.
+ audioPlayer.on('play', () => { // Set the 'play' event callback.
console.info('audio play success');
- audioPlayer.pause(); // Trigger the 'pause' event callback and pause the playback.
+ audioPlayer.pause(); // Trigger the 'pause' event callback and pause the playback.
});
- audioPlayer.on('pause', () => { // Set the 'pause' event callback.
+ audioPlayer.on('pause', () => { // Set the 'pause' event callback.
console.info('audio pause success');
- audioPlayer.seek(5000); // Trigger the 'timeUpdate' event callback, and seek to 5000 ms for playback.
+ audioPlayer.seek(5000); // Trigger the 'timeUpdate' event callback, and seek to 5000 ms for playback.
});
- audioPlayer.on('stop', () => { // Set the 'stop' event callback.
+ audioPlayer.on('stop', () => { // Set the 'stop' event callback.
console.info('audio stop success');
- audioPlayer.reset(); // Trigger the 'reset' event callback, and reconfigure the src attribute to switch to the next song.
+ audioPlayer.reset(); // Trigger the 'reset' event callback, and reconfigure the src attribute to switch to the next song.
});
- audioPlayer.on('reset', () => { // Set the 'reset' event callback.
+ audioPlayer.on('reset', () => { // Set the 'reset' event callback.
console.info('audio reset success');
- audioPlayer.release(); // Release the AudioPlayer resources.
+ audioPlayer.release(); // Release the AudioPlayer instance.
audioPlayer = undefined;
});
- audioPlayer.on('timeUpdate', (seekDoneTime) => {// Set the 'timeUpdate' event callback.
+ audioPlayer.on('timeUpdate', (seekDoneTime) => { // Set the 'timeUpdate' event callback.
if (typeof(seekDoneTime) == 'undefined') {
console.info('audio seek fail');
return;
}
console.info('audio seek success, and seek time is ' + seekDoneTime);
- audioPlayer.setVolume(0.5); // Trigger the 'volumeChange' event callback.
+ audioPlayer.setVolume(0.5); // Trigger the 'volumeChange' event callback.
});
- audioPlayer.on('volumeChange', () => { // Set the 'volumeChange' event callback.
+ audioPlayer.on('volumeChange', () => { // Set the 'volumeChange' event callback.
console.info('audio volumeChange success');
- audioPlayer.getTrackDescription((error, arrlist) => { // Obtain the audio track information in callback mode.
+ audioPlayer.getTrackDescription((error, arrlist) => { // Obtain the audio track information in callback mode.
if (typeof (arrlist) != 'undefined') {
for (let i = 0; i < arrlist.length; i++) {
printfDescription(arrlist[i]);
@@ -78,13 +78,13 @@ function setCallBack(audioPlayer) {
} else {
console.log(`audio getTrackDescription fail, error:${error.message}`);
}
- audioPlayer.stop(); // Trigger the 'stop' event callback to stop the playback.
+ audioPlayer.stop(); // Trigger the 'stop' event callback to stop the playback.
});
});
- audioPlayer.on('finish', () => { // Set the 'finish' event callback, which is triggered when the playback is complete.
+ audioPlayer.on('finish', () => { // Set the 'finish' event callback, which is triggered when the playback is complete.
console.info('audio play finish');
});
- audioPlayer.on('error', (error) => { // Set the 'error' event callback.
+ audioPlayer.on('error', (error) => { // Set the 'error' event callback.
console.info(`audio error called, errName is ${error.name}`);
console.info(`audio error called, errCode is ${error.code}`);
console.info(`audio error called, errMessage is ${error.message}`);
@@ -92,10 +92,10 @@ function setCallBack(audioPlayer) {
}
async function audioPlayerDemo() {
- // 1. Create an audioPlayer instance.
+ // 1. Create an AudioPlayer instance.
let audioPlayer = media.createAudioPlayer();
- setCallBack(audioPlayer); // Set the event callbacks.
- // 2. Set the URI of the audio file selected by the user.
+ setCallBack(audioPlayer); // Set the event callbacks.
+ // 2. Set the URI of the audio file.
let fdPath = 'fd://'
// The stream in the path can be pushed to the device by running the "hdc file send D:\xxx\01.mp3 /data/app/el1/bundle/public/ohos.acts.multimedia.audio.audioplayer/ohos.acts.multimedia.audio.audioplayer/assets/entry/resources/rawfile" command.
let path = '/data/app/el1/bundle/public/ohos.acts.multimedia.audio.audioplayer/ohos.acts.multimedia.audio.audioplayer/assets/entry/resources/rawfile/01.mp3';
@@ -119,23 +119,23 @@ import fileIO from '@ohos.fileio'
export class AudioDemo {
// Set the player callbacks.
setCallBack(audioPlayer) {
- audioPlayer.on('dataLoad', () => { // Set the 'dataLoad' event callback, which is triggered when the src attribute is set successfully.
+ audioPlayer.on('dataLoad', () => { // Set the 'dataLoad' event callback, which is triggered when the src attribute is set successfully.
console.info('audio set source success');
- audioPlayer.play(); // Call the play() API to start the playback and trigger the 'play' event callback.
+ audioPlayer.play(); // Call the play() API to start the playback and trigger the 'play' event callback.
});
- audioPlayer.on('play', () => { // Set the 'play' event callback.
+ audioPlayer.on('play', () => { // Set the 'play' event callback.
console.info('audio play success');
});
- audioPlayer.on('finish', () => { // Set the 'finish' event callback, which is triggered when the playback is complete.
+ audioPlayer.on('finish', () => { // Set the 'finish' event callback, which is triggered when the playback is complete.
console.info('audio play finish');
- audioPlayer.release(); // Release the AudioPlayer resources.
+ audioPlayer.release(); // Release the AudioPlayer instance.
audioPlayer = undefined;
});
}
async audioPlayerDemo() {
- let audioPlayer = media.createAudioPlayer(); // Create an AudioPlayer instance.
- this.setCallBack(audioPlayer); // Set the event callbacks.
+ let audioPlayer = media.createAudioPlayer(); // Create an AudioPlayer instance.
+ this.setCallBack(audioPlayer); // Set the event callbacks.
let fdPath = 'fd://'
// The stream in the path can be pushed to the device by running the "hdc file send D:\xxx\01.mp3 /data/app/el1/bundle/public/ohos.acts.multimedia.audio.audioplayer/ohos.acts.multimedia.audio.audioplayer/assets/entry/resources/rawfile" command.
let path = '/data/app/el1/bundle/public/ohos.acts.multimedia.audio.audioplayer/ohos.acts.multimedia.audio.audioplayer/assets/entry/resources/rawfile/01.mp3';
@@ -161,20 +161,20 @@ export class AudioDemo {
// Set the player callbacks.
private isNextMusic = false;
setCallBack(audioPlayer) {
- audioPlayer.on('dataLoad', () => { // Set the 'dataLoad' event callback, which is triggered when the src attribute is set successfully.
+ audioPlayer.on('dataLoad', () => { // Set the 'dataLoad' event callback, which is triggered when the src attribute is set successfully.
console.info('audio set source success');
- audioPlayer.play(); // Call the play() API to start the playback and trigger the 'play' event callback.
+ audioPlayer.play(); // Call the play() API to start the playback and trigger the 'play' event callback.
});
- audioPlayer.on('play', () => { // Set the 'play' event callback.
+ audioPlayer.on('play', () => { // Set the 'play' event callback.
console.info('audio play success');
- audioPlayer.reset(); // Call the reset() API and trigger the 'reset' event callback.
+ audioPlayer.reset(); // Call the reset() API and trigger the 'reset' event callback.
});
- audioPlayer.on('reset', () => { // Set the 'reset' event callback.
+ audioPlayer.on('reset', () => { // Set the 'reset' event callback.
console.info('audio play success');
- if (!this.isNextMusic) { // When isNextMusic is false, changing songs is implemented.
- this.nextMusic(audioPlayer); // Changing songs is implemented.
+ if (!this.isNextMusic) { // When isNextMusic is false, changing songs is implemented.
+ this.nextMusic(audioPlayer); // Changing songs is implemented.
} else {
- audioPlayer.release(); // Release the AudioPlayer instance.
+ audioPlayer.release(); // Release the AudioPlayer instance.
audioPlayer = undefined;
}
});
@@ -197,8 +197,8 @@ export class AudioDemo {
}
async audioPlayerDemo() {
- let audioPlayer = media.createAudioPlayer(); // Create an AudioPlayer instance.
- this.setCallBack(audioPlayer); // Set the event callbacks.
+ let audioPlayer = media.createAudioPlayer(); // Create an AudioPlayer instance.
+ this.setCallBack(audioPlayer); // Set the event callbacks.
let fdPath = 'fd://'
// The stream in the path can be pushed to the device by running the "hdc file send D:\xxx\01.mp3 /data/app/el1/bundle/public/ohos.acts.multimedia.audio.audioplayer/ohos.acts.multimedia.audio.audioplayer/assets/entry/resources/rawfile" command.
let path = '/data/app/el1/bundle/public/ohos.acts.multimedia.audio.audioplayer/ohos.acts.multimedia.audio.audioplayer/assets/entry/resources/rawfile/01.mp3';
@@ -223,19 +223,19 @@ import fileIO from '@ohos.fileio'
export class AudioDemo {
// Set the player callbacks.
setCallBack(audioPlayer) {
- audioPlayer.on('dataLoad', () => { // Set the 'dataLoad' event callback, which is triggered when the src attribute is set successfully.
+ audioPlayer.on('dataLoad', () => { // Set the 'dataLoad' event callback, which is triggered when the src attribute is set successfully.
console.info('audio set source success');
- audioPlayer.loop = true; // Set the loop playback attribute.
- audioPlayer.play(); // Call the play() API to start the playback and trigger the 'play' event callback.
+ audioPlayer.loop = true; // Set the loop playback attribute.
+ audioPlayer.play(); // Call the play() API to start the playback and trigger the 'play' event callback.
});
- audioPlayer.on('play', () => { // Sets the 'play' event callback to start loop playback.
+ audioPlayer.on('play', () => { // Set the 'play' event callback to start loop playback.
console.info('audio play success');
});
}
async audioPlayerDemo() {
- let audioPlayer = media.createAudioPlayer(); // Create an AudioPlayer instance.
- this.setCallBack(audioPlayer); // Set the event callbacks.
+ let audioPlayer = media.createAudioPlayer(); // Create an AudioPlayer instance.
+ this.setCallBack(audioPlayer); // Set the event callbacks.
let fdPath = 'fd://'
// The stream in the path can be pushed to the device by running the "hdc file send D:\xxx\01.mp3 /data/app/el1/bundle/public/ohos.acts.multimedia.audio.audioplayer/ohos.acts.multimedia.audio.audioplayer/assets/entry/resources/rawfile" command.
let path = '/data/app/el1/bundle/public/ohos.acts.multimedia.audio.audioplayer/ohos.acts.multimedia.audio.audioplayer/assets/entry/resources/rawfile/01.mp3';
diff --git a/en/application-dev/reference/apis/js-apis-media.md b/en/application-dev/reference/apis/js-apis-media.md
index 47d85b0421993ec7a1b31dbd9374409c7c4c37fb..54f8280d96c6310f626e78d6d00d23ff8ebf15bf 100644
--- a/en/application-dev/reference/apis/js-apis-media.md
+++ b/en/application-dev/reference/apis/js-apis-media.md
@@ -4,7 +4,6 @@
>
> The initial APIs of this module are supported since API version 6. Newly added APIs will be marked with a superscript to indicate their earliest API version.
-
The multimedia subsystem provides a set of simple and easy-to-use APIs for you to access the system and use media resources.
This subsystem offers various media services covering audio and video, which provide the following capabilities:
@@ -106,7 +105,7 @@ media.createVideoPlayer().then((video) => {
createAudioRecorder(): AudioRecorder
Creates an **AudioRecorder** instance to control audio recording.
-Only one **AudioRecorder** instance can be created for a device.
+Only one **AudioRecorder** instance can be created per device.
**System capability**: SystemCapability.Multimedia.Media.AudioRecorder
@@ -214,13 +213,13 @@ For details about the audio playback demo, see [Audio Playback Development](../.
**System capability**: SystemCapability.Multimedia.Media.AudioPlayer
-| Name | Type | Readable| Writable| Description |
-| ----------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ |
-| src | string | Yes | Yes | Audio media URL. The mainstream video formats (MPEG-4, MPEG-TS, WebM, and MKV) are supported.
**Example of supported URIs**:
1. FD playback: fd://xx

2. HTTP network playback: http://xx
3. HTTPS network playback: https://xx
4. HLS network playback: http://xx or https://xx
**Note**:
To use media materials, you must declare the read permission. Otherwise, the media materials cannot be played properly.|
-| loop | boolean | Yes | Yes | Whether to loop audio playback. The value **true** means to loop audio playback, and **false** means the opposite. |
-| currentTime | number | Yes | No | Current audio playback position. |
-| duration | number | Yes | No | Audio duration. |
-| state | [AudioState](#audiostate) | Yes | No | Audio playback state. |
+| Name | Type | Readable| Writable| Description |
+| ------------------------------- | ----------------------------------- | ---- | ---- | ------------------------------------------------------------ |
+| src | string | Yes | Yes | Audio file URI. The mainstream audio formats (MPEG-4, MPEG-TS, WebM, and MKV) are supported.
**Examples of supported URI schemes**:
1. FD: fd://xx

2. HTTP: http://xx
3. HTTPS: https://xx
4. HLS: http://xx or https://xx
**NOTE**
To use media materials, you must declare the read permission. Otherwise, the media materials cannot be played properly.|
+| loop | boolean | Yes | Yes | Whether to loop audio playback. The value **true** means to loop audio playback, and **false** means the opposite. |
+| currentTime | number | Yes | No | Current audio playback position. |
+| duration | number | Yes | No | Audio duration. |
+| state | [AudioState](#audiostate) | Yes | No | Audio playback state. This state cannot be used as the condition for triggering the call of **play()**, **pause()**, or **stop()**.|
### play
@@ -560,7 +559,7 @@ audioPlayer.seek(30000); // Seek to 30000 ms.
on(type: 'error', callback: ErrorCallback): void
-Subscribes to the audio playback error event.
+Subscribes to audio playback error events.
**System capability**: SystemCapability.Multimedia.Media.AudioPlayer
@@ -588,13 +587,14 @@ Enumerates the audio playback states. You can obtain the state through the **sta
**System capability**: SystemCapability.Multimedia.Media.AudioPlayer
-| Name | Type | Description |
-| ------------------ | ------ | -------------- |
-| idle | string | The audio player is idle.|
-| playing | string | Audio playback is in progress.|
-| paused | string | Audio playback is paused.|
-| stopped | string | Audio playback is stopped.|
-| error8+ | string | Audio playback is in the error state. |
+| Name | Type | Description |
+| ------------------ | ------ | ---------------------------------------------- |
+| idle | string | No audio playback is in progress.|
+| playing | string | Audio playback is in progress. |
+| paused | string | Audio playback is paused. |
+| stopped | string | Audio playback is stopped. |
+| error8+ | string | Audio playback is in the error state. |
+
## VideoPlayer8+
@@ -608,13 +608,13 @@ For details about the video playback demo, see [Video Playback Development](../.
| Name | Type | Readable| Writable| Description |
| ------------------------ | ---------------------------------- | ---- | ---- | ------------------------------------------------------------ |
-| url8+ | string | Yes | Yes | Video media URL. The mainstream video formats (MPEG-4, MPEG-TS, WebM, and MKV) are supported.
**Example of supported URIs**:
1. FD playback: fd://xx

2. HTTP network playback: http://xx
3. HTTPS network playback: https://xx
4. HLS network playback: http://xx or https://xx
**Note**:
To use media materials, you must declare the read permission. Otherwise, the media materials cannot be played properly.|
+| url8+ | string | Yes | Yes | Video media URL. The mainstream video formats (MPEG-4, MPEG-TS, WebM, and MKV) are supported.
**Example of supported URIs**:
1. FD: fd://xx

2. HTTP: http://xx
3. HTTPS: https://xx
4. HLS: http://xx or https://xx
**NOTE**
To use media materials, you must declare the read permission. Otherwise, the media materials cannot be played properly.|
| loop8+ | boolean | Yes | Yes | Whether to loop video playback. The value **true** means to loop video playback, and **false** means the opposite. |
-| currentTime8+ | number | Yes | No | Current video playback position. |
-| duration8+ | number | Yes | No | Video duration. The value **-1** indicates the live streaming mode. |
+| currentTime8+ | number | Yes | No | Current video playback position. |
+| duration8+ | number | Yes | No | Video duration. The value **-1** indicates the live mode. |
| state8+ | [VideoPlayState](#videoplaystate8) | Yes | No | Video playback state. |
-| width8+ | number | Yes | No | Video width. |
-| height8+ | number | Yes | No | Video height. |
+| width8+ | number | Yes | No | Video width. |
+| height8+ | number | Yes | No | Video height. |
### setDisplaySurface8+
@@ -1353,7 +1353,7 @@ videoPlayer.on('videoSizeChanged', (width, height) => {
on(type: 'error', callback: ErrorCallback): void
-Subscribes to the video playback error event.
+Subscribes to video playback error events.
**System capability**: SystemCapability.Multimedia.Media.VideoPlayer
@@ -1372,7 +1372,7 @@ videoPlayer.on('error', (error) => { // Set the 'error' event callback.
console.info(`video error called, errCode is ${error.code}`); // Print the error code.
console.info(`video error called, errMessage is ${error.message}`);// Print the detailed description of the error type.
});
-videoPlayer.setVolume(3); // Set volume to an invalid value to trigger the 'error' event.
+videoPlayer.setVolume(3); // Set volume to an invalid value to trigger the 'error' event.
```
## VideoPlayState8+
@@ -1656,7 +1656,7 @@ audioRecorder.prepare(audioRecorderConfig)
on(type: 'error', callback: ErrorCallback): void
-Subscribes to the audio recording error event.
+Subscribes to audio recording error events.
**System capability**: SystemCapability.Multimedia.Media.AudioRecorder
@@ -1692,7 +1692,7 @@ Describes audio recording configurations.
| numberOfChannels | number | No | Number of audio channels. The default value is **2**. |
| format(deprecated) | [AudioOutputFormat](#audiooutputformat) | No | Audio output format. The default value is **MPEG_4**.
**Note**: This parameter is deprecated since API version 8. Use **fileFormat** instead. |
| location | [Location](#location) | No | Geographical location of the recorded audio. |
-| uri | string | Yes | Audio output URI. Supported: fd://xx (fd number)

The file must be created by the caller and granted with proper permissions.|
+| uri | string | Yes | Audio output URI. Supported: fd://xx (fd number)

The file must be created by the caller and granted with proper permissions.|
| audioEncoderMime8+ | [CodecMimeType](#codecmimetype8) | No | Audio encoding format. |
| fileFormat8+ | [ContainerFormatType](#containerformattype8) | No | Audio encoding format. |