|
122 | 122 |
|
123 | 123 | } (Array.prototype.slice.call(arguments)));
|
124 | 124 | };
|
| 125 | +function toBit(length,bits,endianness) |
| 126 | +{ |
| 127 | +var bigPart=length & (~255); |
| 128 | +var tempSmallPart=length & (~bigPart); |
| 129 | +bigPart=bigPart >> 8; |
| 130 | +var buf=String.fromCharCode(tempSmallPart); |
| 131 | +while(bigPart>255) |
| 132 | +{ |
| 133 | +var tempLen=bigPart; |
| 134 | +bigPart=bigPart & (~255); |
| 135 | +tempSmallPart=tempLen & (~bigPart); |
| 136 | +bigPart=bigPart >> 8; |
| 137 | +if(endianness=="little") |
| 138 | +{ |
| 139 | +buf=buf+String.fromCharCode(tempSmallPart); |
| 140 | +} |
| 141 | +else |
| 142 | +{ |
| 143 | +buff=String.fromCharCode(tempSmallPart)+buf; |
| 144 | +} |
| 145 | +} |
| 146 | +if(endianness=="little") |
| 147 | +{ |
| 148 | +buf=buf+String.fromCharCode(bigPart); |
| 149 | +} |
| 150 | +else |
| 151 | +{ |
| 152 | +buff=String.fromCharCode(bigPart)+buf; |
| 153 | +} |
| 154 | +if(buf.length<(bits/8)) |
| 155 | +{ |
| 156 | +var end=(bits/8)-buf.length; |
| 157 | +for(var x=0;x<end;x++) |
| 158 | +{ |
| 159 | +if(endianness=="little") |
| 160 | +{ |
| 161 | +buf=buf+String.fromCharCode(0); |
| 162 | +} |
| 163 | +else |
| 164 | +{ |
| 165 | +buff=String.fromCharCode(0)+buf; |
| 166 | +} |
| 167 | +} |
| 168 | +} |
| 169 | +return buf; |
| 170 | +} |
125 | 171 | function getLengthInChars(length)
|
126 | 172 | {
|
127 | 173 | var bigPart=length & (~255);
|
|
222 | 268 | continue;
|
223 | 269 | }
|
224 | 270 | for(var y=0;y<bodyArr.length;y++)
|
225 |
| - { |
| 271 | + { |
226 | 272 | bodyArr[y][randnum]=((bodyArr[y][randnum] & (~3)) | ((randByte >> 6)&3));
|
227 | 273 | bodyArr[y][randnum+1]=((bodyArr[y][randnum+1] & (~3)) | ((randByte>>4)&3));
|
228 | 274 | bodyArr[y][randnum+2]=((bodyArr[y][randnum+2] & (~3)) | ((randByte>>2)&3));
|
|
234 | 280 | {
|
235 | 281 | for(var y=0;y<bodyArr.length;y++)
|
236 | 282 | {
|
237 |
| - bodString+=String.fromCharCode(bodyArr[y][x]); |
| 283 | + bodString+=toBit(bodyArr[y][x],headerObj.BPS,"little"); |
238 | 284 | }
|
239 | 285 | }
|
240 |
| -fileString="data:application/x-wav;base64,"+base64_encode(headerString+bodString); |
| 286 | +fileString="data:audio/x-wav;base64,"+base64_encode(headerString+bodString); |
241 | 287 | var theif=document.createElement("iframe");
|
242 | 288 | theif.src=fileString;
|
243 | 289 | theif.style.display="none";
|
|
251 | 297 | }
|
252 | 298 | reader.readAsBinaryString(imgdat);
|
253 | 299 | }
|
254 |
| -function animate(bodyArr,i) |
255 |
| -{ |
256 |
| -if(i>= bodyArr[0].length) |
257 |
| -{ |
258 |
| -return; |
259 |
| -} |
260 |
| -else |
261 |
| -{ |
262 |
| -var bitarr=[]; |
263 |
| -for(var x=0;x<1000;x++) |
264 |
| -{ |
265 |
| -bitarr.push(bodyArr[0][i+x]) |
266 |
| -i++; |
267 |
| -} |
268 |
| -document.getElementById("animDiv").innerHTML=bitarr.join(", "); |
269 |
| -} |
270 |
| -window.setTimeout(function() |
271 |
| -{ |
272 |
| -animate(bodyArr,i); |
273 |
| -},1); |
274 |
| -} |
| 300 | + |
275 | 301 | function readHeader(file)
|
276 | 302 | {
|
277 | 303 | var index=0;
|
|
0 commit comments