sclass StreamingSoundSource extends VF1<double[]> {
bool enabled;
L<short[]> chunks = synchroLinkedList();
int minChunksToPlay = 2;
short[] samples;
int sampleIndex;
public void get(double[] pair) {
pair[0] = pair[1] = 0;
if (!enabled) ret;
if (samples == null) {
if (l(chunks) < minChunksToPlay) { minChunksToPlay = 2; ret; }
minChunksToPlay = 1;
samples = syncPopFirst(chunks);
sampleIndex = 0;
}
pair[0] = samples[sampleIndex];
pair[1] = samples[sampleIndex+1];
sampleIndex += 2;
if (sampleIndex >= l(samples)) samples = null;
}
void addChunk(short[] chunk) { chunks.add(chunk); }
void setEnabled(bool b) {
enabled = b;
if (!b) chunks.clear();
}
}download show line numbers debug dex old transpilations
Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, irmadwmeruwu, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1019653 |
| Snippet name: | StreamingSoundSource - pre-buffers multiple chunks |
| Eternal ID of this version: | #1019653/5 |
| Text MD5: | 8a1493efaaf43c19a3df8eb1c1e084c5 |
| Author: | stefan |
| Category: | javax |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2018-11-16 16:33:00 |
| Source code size: | 769 bytes / 29 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 746 / 1279 |
| Version history: | 4 change(s) |
| Referenced in: | #1034167 - Standard Classes + Interfaces (LIVE, continuation of #1003674) |