多媒体

更新时间:

接口声明

{ "name": "blueos.media.audio.mediaManager" }
复制代码

导入模块

import media from '@blueos.media.audio.mediaManager'const media = require('@blueos.media.audio.mediaManager')
复制代码

接口定义

media.createAudioPlayer()

创建音频播放的实例。

参数

参数 类型 必填 说明
streamType String streamType
contentType String contentType
streamUsage String streamUsage

返回值

AudioPlayer

示例:

const audioplayer = media.createAudioPlayer()
复制代码

media.createAudioTrack()

创建音频流式播放的实例

参数

参数名 类型 必填 说明
streamType String streamType
contentType String contentType
streamUsage String streamUsage
sampleRateInHz Number 采样率,单位赫兹,可选值为:8000、 16000;默认值为 16000
channelConfig Number 捕获音频的声道数目,1:单声道,2:立体声;默认值为 1
audioFormat Number 样本的分辨率,单位 bit,可选值为: 8、16;默认值为 16

返回值

AudioTrack

示例:

const audiotrack = media.createAudioTrack()
复制代码

media.createAudioRecord(OBJECT)

创建录音实例

参数

属性名 类型 必填 说明
sampleRateInHz Number 采样率,单位赫兹,可选值为:8000、 16000;默认值为 16000
channelConfig Number 音频的声道数目,1:单声道,2:立体声;默认值为 1
audioFormat Number 样本的分辨率,单位 bit,可选值为: 8、16;默认值为 16

返回值

AudioRecorder

示例:

const record = media.createAudioRecord()
复制代码

AudioPlayer

AudioPlayer.play()

开始播放音频

参数

示例:

audioplayer.src = 'xxx'
// play 方法调用无需等待 src 加载完成
audioplayer.play()
复制代码

AudioPlayer.pause()

暂停播放音频

参数

示例:

audioplayer.pause()
复制代码

AudioPlayer.stop()

停止音频播放,可以通过 play 重新播放音频

参数

示例:

audioplayer.stop()
复制代码

AudioPlayer.release()

释放音频资源

参数

示例:

audioplayer.release()
复制代码

属性

名称 参数类型 是否可读 是否可写 必填 描述
src String 播放的音频媒体 uri
currentTime Number 音频的当前进度,单位秒,对值设置可以调整播放进度
duration Number 音频文件的总时长,单位秒,未知返回 NaN
state String 播放状态,分别为'play','pause','stop','idle'
playcount Number 控制音频的循环播放,playcount == 1 或 playcount == 0:不开启循环; playcount >1:开启循环,且循环指定的次数; playcount == -1:开启循环,且循环无限次数

示例:

let currentTime = audioplayer.currentTime
// 跳转时间
audioplayer.currentTime = 100
复制代码

事件

名称 描述 返回值
Play 在音频 play 后的回调事件
Pause 在音频 pause 后的回调事件
Stop 在音频 stop 后的回调事件
Ended 播放结束时的回调事件
Error 播放发生错误时的回调事件
TimeUpdate currentTime 属性更新时会触发的回调事件
DurationChange duration 属性更新时被触发的回调事件
Previous 音乐面板点击上一首按钮时触发
Next 音乐面板点击下一首按钮时触发
LoadedData 第一次获取到音频数据的回调事件
Interrupt 音频打断事件,当前音频被其他有相同音频类型的音频抢夺时,被停止或者恢复的通知。或者当前音频被当外部设备操作打断的通知。 InterruptAction

示例:

audioplayer.onInterrupt = function (interruptAction) {
  console.log(interruptAction.interruptHint)
}
复制代码

AudioTrack

AudioTrack.play()

开始播放音频

参数

示例:

audiotrack.play()
复制代码

AudioTrack.write(OBJECT)

写入音频数据

参数

参数 类型 必填 说明
buffer Uint8Array 写入的二进制音频数据
success Function 成功函数,通过该回调函数通知写入的情况
fail Function

success 返回值:

参数值 类型 说明
state Number 写入状态,1 - 成功 2 - 失败 3 - 参数异常

示例:

http.get('/getAudio').then((res) => {
  audiotrack.write({
    buffer: new Uint8Array(res),
    success: function () {
      // wirte success
    },
  })
})
复制代码

AudioTrack.pause()

暂停播放音频

参数

示例:

audiotrack.pause()
复制代码

AudioTrack.stop()

停止音频播放,可以通过 play 重新播放音频

参数

示例:

audiotrack.stop()
复制代码

AudioTrack.release()

释放音频资源

参数

示例:

audiotrack.release()
复制代码

属性

名称 参数类型 是否可读 是否可写 必填 描述
state String 播放状态,分别为'play','pause','stop'

示例:

let state = audiotrack.state
console.log(state)
复制代码

事件

名称 描述 返回值
Play 在音频 play 后的回调事件
Stop 在音频 stop 后的回调事件
Pause 在音频 pause 后的回调事件
Ended 播放结束时的回调事件
Error 播放发生错误时的回调事件
TimeUpdate 在 currentTime 属性更新时会触发的回调事件
Interrupt 音频打断事件,当前音频被其他有相同音频类型的音频抢夺时,被停止或者恢复的通知。或者当前音频被当外部设备操作打断的通知。 InterruptAction

示例:

audiotrack.onInterrupt = function (interruptAction) {
  console.log(interruptAction.interruptHint)
}
复制代码

AudioRecorder

AudioRecorder.start(OBJECT)

开始录音,并在录音结束后生成音频文件。

参数:

参数名 类型 必填 说明
uri String 需要输出到文件的 uri
success Function 成功的回调
fail Function 失败的回调
complete Function 执行结束后的回调
success 返回值:
参数名 类型 说明
uri String 录音文件的存储路径

示例:

record.start({
  uri: 'internal://cache/path/to/file',
  success: function (data) {
    console.log(`handling success: ${data.uri}`)
  },
  fail: function (data, code) {},
})
复制代码

AudioRecorder.read(OBJECT)

开始录音,录音的过程中实时返回音频内容。

注意:AudioRecorder.read 也是开始录音,不要再调用 AudioRecorder.start。

参数:

参数 类型 必填 说明
callback Function 回调函数
callback 返回值:
参数名 类型 说明
buffer Uint8Array 录音内容

示例:

record.read({
  callback(buffer) {
    console.log('buffer.length: ' + buffer.length)
  },
})
复制代码

AudioRecorder.stop(OBJECT)

停止录音。

参数:

示例:

record.stop()
复制代码

AudioRecorder.release(OBJECT)

释放录音资源。

参数:

示例:

record.release()
复制代码

事件

名称 描述
Error 录音发生错误时的回调事件
Start 录音开始时的回调事件
Stop 录音停止时的回调事件

示例:

record.onError = function () {
  console.log(`audio error`)
}
复制代码

参数

streamUsage

指定使用音频类型 ,默认值为music。用于对音频冲突的仲裁,多个相同的streamUsage音频同时播放时,系统只会保留一个,其他的会被打断。

名称 说明
music 媒体

contentType

用于音频后处理,默认值为music。系统会根据不同的 contentType 对声音进行优化处理。

名称 说明
speech 语音播报
music 音乐播放
movie 视频播放/电视节目
sonification 按键音/游戏中的短音提示/拟音

streamType

用于音量策略,默认值为music。系统可以通过不同的 streamType 来管理音频的音量,例如:播放音乐设置为 music,消息提示音设置为 ring

名称 说明
music 媒体

InterruptAction

属性 类型 说明
interruptHint Number 1 - 音频恢复 (如:来电恢复)
2 - 音频暂停 (如:来电打断)
3 - 音频停止(如:彻底停止)
actionType Number 事件返回类型。
0 - 被音频抢夺,焦点触发事件
1 - 音频被外部设备打断事件。
上一篇
音频
下一篇
音频管理
以上内容对您是否有帮助?
  • 毫无帮助
  • 帮助不大
  • 一般
  • 很好
  • 非常好
意见反馈