# 音频播放 - [导入模块](#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\(\) 创建音频播放的实例来控制音频的播放。 **返回值:**

类型

说明

AudioPlayer

返回AudioPlayer类实例,失败时返回null。

**示例:** ``` 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

音频播放停止。