HarmonyOS 音频播放相关问题咨询

业务需要播放接口实时返回的PCM转BASE64的音频流,麻烦咨询下需要怎么实现,文档中没有找到相关说明。

HarmonyOS
5天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

下方是音频文件转换示例:

//文件转base64 
readFileToBase64(path: string): string { 
  // 打开文件 
  let srcFile = fs.openSync(path, fs.OpenMode.READ_ONLY); 
  console.info(`file.size=${fs.statSync(srcFile.fd).size}`) 
  let bufSize = 4096; 
  let readSize = 0; 
  let arrayBuf = new ArrayBuffer(bufSize); 
  class Option { 
    public offset: number = 0; 
    public length: number = bufSize; 
  } 
  let option = new Option(); 
  option.offset = readSize; 
  let readLen = fs.readSync(srcFile.fd, arrayBuf, option); 
 
  let buffs: buffer.Buffer[] = [] 
  while (readLen > 0) { 
    buffs.push(buffer.from(arrayBuf, 0, readLen)) 
    readSize += readLen; 
    option.offset = readSize; 
    arrayBuf = new ArrayBuffer(bufSize); 
    readLen = fs.readSync(srcFile.fd, arrayBuf, option); 
  } 
  let allBuff = buffer.concat(buffs) 
  console.info(`readSize=${readSize} allbuff=${allBuff.buffer.byteLength}`) 
  // 关闭文件 
  fs.closeSync(srcFile); 
 
  return new util.Base64Helper().encodeToStringSync(new Uint8Array(allBuff.buffer)) 
}
分享
微博
QQ
微信
回复
4天前
相关问题
HarmonyOS音频相关问题
388浏览 • 1回复 待解决
HarmonyOS音频播放问题
318浏览 • 1回复 待解决
HarmonyOS AOT相关问题咨询
282浏览 • 1回复 待解决
HarmonyOS 媒体问题相关咨询
48浏览 • 1回复 待解决
HarmonyOS 音频后台播放问题
320浏览 • 1回复 待解决
jsBridge相关问题咨询
311浏览 • 1回复 待解决
咨询下WebSocket相关问题
336浏览 • 1回复 待解决
音频录制开发相关问题
5599浏览 • 1回复 待解决
HarmonyOS 媒体硬解相关问题咨询
424浏览 • 1回复 待解决
HarmonyOS TextInput和键盘相关问题咨询
413浏览 • 1回复 待解决
OH _Audio播放音频问题
1976浏览 • 1回复 待解决
HarmonyOS音频录制相关
277浏览 • 1回复 待解决
HarmonyOS InputText相关咨询
215浏览 • 1回复 待解决
HarmonyOS 计步传感器相关问题咨询
55浏览 • 1回复 待解决
设备唯一id相关问题咨询
1645浏览 • 1回复 待解决
重力传感器相关问题咨询
243浏览 • 1回复 待解决
HarmonyOS 咨询音频录制功能细节
250浏览 • 1回复 待解决
HarmonyOS 音频录制与播放
488浏览 • 1回复 待解决
HarmonyOS 音频播放帧率控制
58浏览 • 1回复 待解决
HarmonyOS实现后台播放音频
325浏览 • 1回复 待解决
HarmonyOS 音频播放设备的切换
74浏览 • 1回复 待解决
HarmonyOS 播放本地音频文件
51浏览 • 1回复 待解决