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');
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, errName is ${error.name}`);
console.info(`audio error called, errCode is ${error.code}`);
console.info(`audio error called, errCode is ${error.code}`);
console.info(`audio error called, errMessage is ${error.message}`);
console.info(`audio error called, errMessage is ${error.message}`);
...
@@ -92,10 +92,10 @@ function setCallBack(audioPlayer) {
...
@@ -92,10 +92,10 @@ function setCallBack(audioPlayer) {
}
}
asyncfunctionaudioPlayerDemo(){
asyncfunctionaudioPlayerDemo(){
// 1. Create an audioPlayer instance.
// 1. Create an AudioPlayer instance.
letaudioPlayer=media.createAudioPlayer();
letaudioPlayer=media.createAudioPlayer();
setCallBack(audioPlayer);// Set the event callbacks.
setCallBack(audioPlayer);// Set the event callbacks.
// 2. Set the URI of the audio file selected by the user.
// 2. Set the URI of the audio file.
letfdPath='fd://'
letfdPath='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.
// 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.
@@ -119,23 +119,23 @@ import fileIO from '@ohos.fileio'
...
@@ -119,23 +119,23 @@ import fileIO from '@ohos.fileio'
exportclassAudioDemo{
exportclassAudioDemo{
// Set the player callbacks.
// Set the player callbacks.
setCallBack(audioPlayer){
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');
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');
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');
console.info('audio play finish');
audioPlayer.release();// Release the AudioPlayer resources.
audioPlayer.release();// Release the AudioPlayer instance.
audioPlayer=undefined;
audioPlayer=undefined;
});
});
}
}
asyncaudioPlayerDemo(){
asyncaudioPlayerDemo(){
letaudioPlayer=media.createAudioPlayer();// Create an AudioPlayer instance.
letaudioPlayer=media.createAudioPlayer();// Create an AudioPlayer instance.
this.setCallBack(audioPlayer);// Set the event callbacks.
this.setCallBack(audioPlayer);// Set the event callbacks.
letfdPath='fd://'
letfdPath='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.
// 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.
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');
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');
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');
console.info('audio play success');
if(!this.isNextMusic){// When isNextMusic is false, changing songs is implemented.
if(!this.isNextMusic){// When isNextMusic is false, changing songs is implemented.
this.nextMusic(audioPlayer);// Changing songs is implemented.
this.nextMusic(audioPlayer);// Changing songs is implemented.
}else{
}else{
audioPlayer.release();// Release the AudioPlayer instance.
audioPlayer.release();// Release the AudioPlayer instance.
audioPlayer=undefined;
audioPlayer=undefined;
}
}
});
});
...
@@ -197,8 +197,8 @@ export class AudioDemo {
...
@@ -197,8 +197,8 @@ export class AudioDemo {
}
}
asyncaudioPlayerDemo(){
asyncaudioPlayerDemo(){
letaudioPlayer=media.createAudioPlayer();// Create an AudioPlayer instance.
letaudioPlayer=media.createAudioPlayer();// Create an AudioPlayer instance.
this.setCallBack(audioPlayer);// Set the event callbacks.
this.setCallBack(audioPlayer);// Set the event callbacks.
letfdPath='fd://'
letfdPath='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.
// 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.
@@ -223,19 +223,19 @@ import fileIO from '@ohos.fileio'
...
@@ -223,19 +223,19 @@ import fileIO from '@ohos.fileio'
exportclassAudioDemo{
exportclassAudioDemo{
// Set the player callbacks.
// Set the player callbacks.
setCallBack(audioPlayer){
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');
console.info('audio set source success');
audioPlayer.loop=true;// Set the loop playback attribute.
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.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');
console.info('audio play success');
});
});
}
}
asyncaudioPlayerDemo(){
asyncaudioPlayerDemo(){
letaudioPlayer=media.createAudioPlayer();// Create an AudioPlayer instance.
letaudioPlayer=media.createAudioPlayer();// Create an AudioPlayer instance.
this.setCallBack(audioPlayer);// Set the event callbacks.
this.setCallBack(audioPlayer);// Set the event callbacks.
letfdPath='fd://'
letfdPath='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.
// 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.
> 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 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.
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:
This subsystem offers various media services covering audio and video, which provide the following capabilities:
| src | string | Yes | Yes | Audio media URL. The mainstream video formats (MPEG-4, MPEG-TS, WebM, and MKV) are supported.<br>**Example of supported URIs**:<br>1. FD playback: fd://xx<br><br>2. HTTP network playback: http://xx<br>3. HTTPS network playback: https://xx<br>4. HLS network playback: http://xx or https://xx<br>**Note**:<br>To use media materials, you must declare the read permission. Otherwise, the media materials cannot be played properly.|
| src | string | Yes | Yes | Audio file URI. The mainstream audio formats (MPEG-4, MPEG-TS, WebM, and MKV) are supported.<br>**Examples of supported URI schemes**:<br>1. FD: fd://xx<br><br>2. HTTP: http://xx<br>3. HTTPS: https://xx<br>4. HLS: http://xx or https://xx<br>**NOTE**<br>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. |
| 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. |
| currentTime | number | Yes | No | Current audio playback position. |
| duration | number | Yes | No | Audio duration. |
| duration | number | Yes | No | Audio duration. |
| state | [AudioState](#audiostate) | Yes | No | Audio playback state. |
| 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<a name=audioplayer_play></a>
### play<a name=audioplayer_play></a>
...
@@ -560,7 +559,7 @@ audioPlayer.seek(30000); // Seek to 30000 ms.
...
@@ -560,7 +559,7 @@ audioPlayer.seek(30000); // Seek to 30000 ms.
| url<sup>8+</sup> | string | Yes | Yes | Video media URL. The mainstream video formats (MPEG-4, MPEG-TS, WebM, and MKV) are supported.<br>**Example of supported URIs**:<br>1. FD playback: fd://xx<br><br>2. HTTP network playback: http://xx<br>3. HTTPS network playback: https://xx<br>4. HLS network playback: http://xx or https://xx<br>**Note**:<br>To use media materials, you must declare the read permission. Otherwise, the media materials cannot be played properly.|
| url<sup>8+</sup> | string | Yes | Yes | Video media URL. The mainstream video formats (MPEG-4, MPEG-TS, WebM, and MKV) are supported.<br>**Example of supported URIs**:<br>1. FD: fd://xx<br><br>2. HTTP: http://xx<br>3. HTTPS: https://xx<br>4. HLS: http://xx or https://xx<br>**NOTE**<br>To use media materials, you must declare the read permission. Otherwise, the media materials cannot be played properly.|
| loop<sup>8+</sup> | boolean | Yes | Yes | Whether to loop video playback. The value **true** means to loop video playback, and **false** means the opposite. |
| loop<sup>8+</sup> | boolean | Yes | Yes | Whether to loop video playback. The value **true** means to loop video playback, and **false** means the opposite. |
| currentTime<sup>8+</sup> | number | Yes | No | Current video playback position. |
| currentTime<sup>8+</sup> | number | Yes | No | Current video playback position. |
| duration<sup>8+</sup> | number | Yes | No | Video duration. The value **-1** indicates the live streaming mode. |
| duration<sup>8+</sup> | number | Yes | No | Video duration. The value **-1** indicates the live mode. |
| state<sup>8+</sup> | [VideoPlayState](#videoplaystate8) | Yes | No | Video playback state. |
| state<sup>8+</sup> | [VideoPlayState](#videoplaystate8) | Yes | No | Video playback state. |
| width<sup>8+</sup> | number | Yes | No | Video width. |
| width<sup>8+</sup> | number | Yes | No | Video width. |
| height<sup>8+</sup> | number | Yes | No | Video height. |
| height<sup>8+</sup> | number | Yes | No | Video height. |
| numberOfChannels | number | No | Number of audio channels. The default value is **2**. |
| numberOfChannels | number | No | Number of audio channels. The default value is **2**. |
| format<sup>(deprecated)</sup> | [AudioOutputFormat](#audiooutputformat) | No | Audio output format. The default value is **MPEG_4**.<br>**Note**: This parameter is deprecated since API version 8. Use **fileFormat** instead. |
| format<sup>(deprecated)</sup> | [AudioOutputFormat](#audiooutputformat) | No | Audio output format. The default value is **MPEG_4**.<br>**Note**: This parameter is deprecated since API version 8. Use **fileFormat** instead. |
| location | [Location](#location) | No | Geographical location of the recorded audio. |
| location | [Location](#location) | No | Geographical location of the recorded audio. |
| uri | string | Yes | Audio output URI. Supported: fd://xx (fd number)<br><br>The file must be created by the caller and granted with proper permissions.|
| uri | string | Yes | Audio output URI. Supported: fd://xx (fd number)<br><br>The file must be created by the caller and granted with proper permissions.|