音频播放

导入模块

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

音频播放停止。