UNPKG

@infinito/id3

Version:
25 lines (23 loc) 586 B
import {TextEncoder} from 'text-encoding'; import {constants} from '../constants.js'; export default function genID3v2_3Frame(frame_id,val) { val = new TextEncoder().encode(val); var sz = val.byteLength; sz++; var buf = new Uint8Array(10+sz); for(var i=0;i<frame_id.length;i++) { buf[i] = frame_id.charCodeAt(i); } for(var i=constants.ID3V2_3_FRAME_SIZE_BYTES-1;i>=0;i--) { buf[4+i] = sz&0xff; sz>>=8; } sz = val.byteLength; buf[8] = 0; buf[9] = 0; buf[10] = 1;//Encoding Byte for(var i=0;i<sz;i++) { buf[11+i] = val[i]; } return buf; };