@infinito/id3
Version:
ID3 Tag Reader/Writer
39 lines (29 loc) • 758 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = genID3v2_3Frame;
var _textEncoding = require("text-encoding");
var _constants = require("../constants.js");
function genID3v2_3Frame(frame_id, val) {
val = new _textEncoding.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.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;
}
;