请问数组的截取slice的问题(arrayBuffer)?

websocket接收多个arraybuffer的音频流,每次截取500字节的数据拿去播放,请问如何去正确的截取 第一次截取0-500区间的字节,第二次截取500-1000区间的字节,以此类推,接收到的arraybuffer是不确定大小的

阅读 2k
3 个回答

你试试这样是不是可以达到你说的那个效果,其实就是一个最简单的js方法:

let arrData = []; // 接收到的数据

function onAudio(playData) {
  arrData.push(playData); // 将接收到的数据存储到数组中

  // 每次截取500字节的数据进行播放
  let  startIndex = (arrData.length - 1) * 500;
  const endIndex = arrData.length * 500;
  const slicedData = playData.slice(startIndex, endIndex);

  // 调用你的播放器方法
  // onPlayAudio(slicedData);
}

类似于前端分页,不知道是不是要的这种效果

const arr = [1,2,3,4,5,6,7,8,9,10];
let page=3,current=1;
arr.slice((current-1)*page,current*page);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏