-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy pathPlayer.ts
44 lines (39 loc) · 920 Bytes
/
Player.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
const _speedCustom = -1
const _speedOneHalfKey = 0.5
const _speedThreeQuartersKey = 0.75
const _speedNormalKey = 1.0
const _speedOneAndAQuarterKey = 1.25
const _speedOneAndAHalfKey = 1.5
const _speedOneAndThreeQuartersKey = 1.75
const _speedDoubleKey = 2
const speeds = {
_speedCustom,
_speedOneHalfKey,
_speedThreeQuartersKey,
_speedNormalKey,
_speedOneAndAQuarterKey,
_speedOneAndAHalfKey,
_speedOneAndThreeQuartersKey,
_speedDoubleKey
}
const generateSpeedOptions = () => {
const options = Object.keys(speeds).map((key) => {
if (speeds[key] === -1) {
return { i18nKey: `Custom`, value: speeds[key], key }
}
return {
i18nKey: speeds[key],
value: speeds[key],
key: key
}
})
return options
}
export const Player = {
playerTypes: {
audio: '_audio',
video: '_video'
},
speedOptions: generateSpeedOptions(),
speeds: Object.values(speeds)
}