HarmonyOS 鸿蒙Next ArkTs 如何播放库表中的BLOB音频

发布于 1周前 作者 vueper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next ArkTs 如何播放库表中的BLOB音频

sqlite数据库表中有字段是BLOB存储的是MP3音频数据,现在已经读取到ArrayBuffer中,如何实现播放,查了一些方法只是播放文件的例子。又想着把BLOB保存成文件再播放觉是如果要这样处理的话是多此一举。这个在iOS中处理非常简单,在这里苦于找不到方法。请教指点一下谢谢。

5 回复

API12之后,改了不少规则,之前很多写法并不报错但是无法实现相应功能,就比如闹钟相关的后台代理提醒的管控限制等,如果代码和实现逻辑没错,还是建议工单问一下。

更多关于HarmonyOS 鸿蒙Next ArkTs 如何播放库表中的BLOB音频的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


如何将我的ArryBuffer播放出来。

看了一下还是播放文件的,实在是不会很麻烦,能举例代码指点一下吗,非常感谢。

要怎么写才能播放BLOB中存放的MP3 data,这里的item.audioE里面就是从库表里面读出来的ArrayBuffer格式的数据,debug出来的大小和实习相符,初学arkts开发,这里按照文档照猫画虎却不能够。

let player = await media.createAVPlayer()
player.on('stateChange', state => {
  if (state == 'initialized') {
    player.prepare(() => player.play())
  }
})
let dataSrc: media.AVDataSrcDescriptor = {
  fileSize: -1,
  callback: (buffer, len) => {
    if (buffer == undefined || len == undefined) {
      return -1
    }
    buffer = item.audioE
    let num = 0
    num = len = buffer.byteLength
    if (num > 0) {
      return num
    }
    return -1
  }
}
dataSrc.fileSize = item.audioE.byteLength
player.dataSrc = dataSrc

在HarmonyOS鸿蒙系统中,使用ArkTS(Ark TypeScript)播放存储在数据库表中的BLOB(Binary Large OBject)音频数据,可以通过以下步骤实现:

  1. 读取BLOB数据:

    • 首先,通过数据库操作API从数据库中读取音频数据的BLOB字段。确保数据库连接和查询语句正确无误。
  2. 转换BLOB为音频文件:

    • 将读取到的BLOB数据转换为临时文件或内存流,以便音频播放组件能够识别和处理。这可能需要使用文件操作API或内存流处理库。
  3. 使用音频播放组件:

    • HarmonyOS提供了音频播放的组件或API,利用这些组件或API加载转换后的音频文件,并进行播放。确保音频组件已正确初始化并配置。
  4. 处理播放控制:

    • 根据需求实现播放、暂停、停止等控制功能,这些通常可以通过音频组件提供的事件或方法来实现。

请注意,具体实现细节可能因HarmonyOS版本和ArkTS框架的不同而有所差异。在实际开发中,建议参考HarmonyOS官方文档和ArkTS开发指南,以获取最新的API信息和最佳实践。

如果问题依旧没法解决请联系官网客服, 官网地址是 https://www.itying.com/category-93-b0.html

回到顶部