blob: ada1ad2b005a6604ae73671db294f8e5904c603c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
import { client } from '../../client'
// TODO BUG:
// this.viewport.music is an array. Therefore you must access elements
/**
* Handles a music change to an arbitrary resource, with an offset in seconds.
* @param {Array} args packet arguments
*/
export const handleRMC = (args: string[]) => {
client.viewport.music.pause();
const { music } = client.viewport;
// Music offset + drift from song loading
music.totime = args[1];
music.offset = new Date().getTime() / 1000;
music.addEventListener(
"loadedmetadata",
() => {
music.currentTime += parseFloat(
music.totime + (new Date().getTime() / 1000 - music.offset)
).toFixed(3);
music.play();
},
false
);
}
|