# 音频播放
- [导入模块](#s56d19203690d4782bfc74069abb6bd71)
- [权限](#section11257113618419)
- [方法](#section125675489541)
- [createAudioPlayer\(\)](#section582314017253)
- [附录](#section1933416317165)
- [AudioPlayer](#section5174142818365)
- [属性](#section4947115405)
- [play\(\)](#section964512672913)
- [pause\(\)](#section78173258296)
- [stop\(\)](#section122114334296)
- [seek\(number\)](#section1387113816298)
- [setVolume\(number\)](#section164235176552)
- [reset\(\)7+](#section1473283011356)
- [release\(\)](#section9224621145512)
- [事件](#section5453721192911)
- [play](#section87307411494)
- [pause](#section198217471590)
- [stop](#section437616531910)
- [dataLoad](#section982114219106)
- [timeUpdate](#section13687114181014)
- [volumeChange](#section139227715717)
- [finish](#section15181321181018)
- [error](#section5593132921016)
- [AudioState](#section5181155710523)
## 导入模块
```
import audio from '@ohos.multimedia.media';
```
## 权限
无
## 方法
## createAudioPlayer\(\)
创建音频播放的实例来控制音频的播放。
**返回值:**
**示例:**
```
var audioplayer = audio.createAudioPlayer();
```
## 附录
## AudioPlayer
音频播放器。
### 属性
名称
|
参数类型
|
可读
|
可写
|
说明
|
src
|
string
|
是
|
是
|
音频媒体URI。
|
loop
|
boolean
|
是
|
是
|
音频循环播放属性。
|
currentTime
|
number
|
是
|
否
|
音频的当前播放阶段。
|
duration
|
number
|
是
|
否
|
音频播放的时长。
|
state
|
AudioState
|
是
|
否
|
音频播放的状态。
|
### play\(\)
开始播放音频资源。
**示例:**
```
audioplayer.on('dataload', (err, action) => {
if (err) {
console.info('Error returned in the prepare() callback.');
return;
}
console.info('Start to play the audio.');
audioplayer.play();
};
audioplayer.on('play', (err, action) => {
if (err) {
console.info('Error returned in the play() callback.');
return;
}
console.info('Succeeded in playing the audio.');
};
audioplayer.src = 'common/mydream.mp3';
```
### pause\(\)
暂停播放音频资源。
**示例:**
```
audioplayer.on('dataload', (err, action) => {
if (err) {
console.info('Error returned in the prepare() callback.');
return;
}
console.info('Start to play the audio.');
audioplayer.play();
}
audioplayer.on('play', (err, action) => {
if (err) {
console.info('Error returned in the play() callback.');
return;
}
console.info('Start to pause audio playback.');
audioplayer.pause();
};
audioplayer.on('pause', (err, action) => {
if (err) {
console.info('Error returned in the pause() callback.');
return;
}
console.info('Succeeded in pausing audio playback.');
};
audioplayer.src = 'common/mydream.mp3';
```
### stop\(\)
停止播放音频资源。
**示例:**
```
audioplayer.on('dataload', (err, action) => {
if (err) {
console.info('Error returned in the prepare() callback.');
return;
}
console.info('Start to play the audio.');
audioplayer.play();
};
audioplayer.on('play', (err, action) => {
if (err) {
console.info('Error returned in the play() callback.');
return;
}
console.info('Start to pause audio playback.');
audioplayer.pause();
};
audioplayer.on('stop', (err, action) => {
if (err) {
console.info('Error returned in the stop() callback.');
return;
}
console.info('Succeeded in stopping audio playback.');
};
audioplayer.src = 'common/mydream.mp3';
```
### seek\(number\)
跳转到指定播放位置。
**参数:**
参数名
|
类型
|
必填
|
说明
|
timeMs
|
number
|
是
|
想要跳转到的时间点。
|
**示例:**
```
audioplayer.on('dataload', (err, action) => {
if (err) {
console.info('Error returned in the prepare() callback.');
return;
}
console.info('Start to play the audio.');
audioplayer.play();
};
audioplayer.on('play', (err, action) => {
if (err) {
console.info('Error returned in the play() callback.');
return;
}
console.info('Succeeded in playing the audio.')
};
audioplayer.on('timeUpdate', (seekTime, action) => {
console.info('Seek time returned in the seek() callback: ' + seekTime);
var newTime = audioplayer.currenTime;
if(newTime == 30000) {
console.info('Seek succeeded. New time: ' + newTime);
} else {
console.info('Seek failed.');
}
};
audioplayer.src = 'common/mydream.mp3';
audioplayer.seek(30000);
```
### setVolume\(number\)
设置音量。
**参数:**
参数名
|
类型
|
必填
|
说明
|
vol
|
number
|
是
|
想要设置的音量值(0-1)。
|
**示例:**
```
audioplayer.on('dataload', (err, action) => {
if (err) {
console.error('Error returned in the prepare() callback.');
return;
}
console.info('Start to play the audio.');
audioplayer.play();
};
audioplayer.on('play', (err, action) => {
if (err) {
console.error('Error returned in the play() callback.');
return;
}
console.info('Succeeded in playing the audio.')
};
audioplayer.on('volumeChange', (err, action) => {
if (err) {
console.error('Error returned in the setVolume() callback.');
return;
}
console.info('Playback volume changed.');
};
audioplayer.src = 'common/mydream.mp3';
audioplayer.setVolume(0.5);
```
### reset\(\)7+
切换播放音频资源。
**示例:**
```
audioplayer.on('dataload', (err, action) => {
if (err) {
console.error('Error returned in the prepare() callback.');
return;
}
console.info('Start to reset audio playback.');
audioplayer.reset();
};
audioplayer.on('reset', (err, action) => {
if (err) {
console.error('Error returned in the reset() callback.');
return;
}
console.info('Reset succeeded.');
};
audioplayer.src = 'common/mydream.mp3';
```
### release\(\)
释放音频资源。
**示例:**
```
audioplay.release();
```
### 事件
### play
在调用play方法后的回调事件。
### pause
在调用pause方法后的回调事件。
### stop
在调用stop方法后的回调事件。
### dataLoad
在音频数据加载后的回调事件。
### timeUpdate
在播放时间改变后的回调事件。
### volumeChange
在播放音量改变后的回调事件。
### finish
在播放完成后的回调事件。
### error
在播放错误时的回调事件。
参数名
|
类型
|
说明
|
callback
|
ErrorCallback
|
错误事件的回调函数。
|
## AudioState
音频播放的状态机。
名称
|
描述
|
idle
|
音频播放空闲。
|
playing
|
音频正在播放。
|
paused
|
音频暂停播放。
|
stopped
|
音频播放停止。
|