@@ -19,7 +19,7 @@ class Player extends React.Component {
19
19
super ( props ) ;
20
20
21
21
this . state = {
22
- interval : 500 ,
22
+ speed : 2 ,
23
23
playing : false ,
24
24
building : false ,
25
25
} ;
@@ -94,7 +94,8 @@ class Player extends React.Component {
94
94
resume ( wrap = false ) {
95
95
this . pause ( ) ;
96
96
if ( this . next ( ) || wrap && this . props . setCursor ( 1 ) ) {
97
- this . timer = window . setTimeout ( ( ) => this . resume ( ) , this . state . interval ) ;
97
+ const interval = 4000 / Math . pow ( Math . E , this . state . speed ) ;
98
+ this . timer = window . setTimeout ( ( ) => this . resume ( ) , interval ) ;
98
99
this . setState ( { playing : true } ) ;
99
100
}
100
101
}
@@ -115,8 +116,8 @@ class Player extends React.Component {
115
116
return true ;
116
117
}
117
118
118
- handleChangeInterval ( interval ) {
119
- this . setState ( { interval } ) ;
119
+ handleChangeSpeed ( speed ) {
120
+ this . setState ( { speed } ) ;
120
121
}
121
122
122
123
handleChangeProgress ( progress ) {
@@ -129,7 +130,7 @@ class Player extends React.Component {
129
130
render ( ) {
130
131
const { className, file } = this . props ;
131
132
const { chunks, cursor } = this . props . player ;
132
- const { interval , playing, building } = this . state ;
133
+ const { speed , playing, building } = this . state ;
133
134
134
135
return (
135
136
< div className = { classes ( styles . player , className ) } >
@@ -148,16 +149,16 @@ class Player extends React.Component {
148
149
onChangeProgress = { progress => this . handleChangeProgress ( progress ) } />
149
150
< Button icon = { faChevronRight } reverse primary disabled = { ! this . isValidCursor ( cursor + 1 ) }
150
151
onClick = { ( ) => this . next ( ) } />
151
- < div className = { styles . interval } >
152
+ < div className = { styles . speed } >
152
153
Speed
153
154
< InputRange
154
155
classNames = { {
155
156
inputRange : styles . range ,
156
157
labelContainer : styles . range_label_container ,
157
158
slider : styles . range_slider ,
158
159
track : styles . range_track ,
159
- } } maxValue = { 2000 } minValue = { 100 } step = { 100 } value = { interval }
160
- onChange = { interval => this . handleChangeInterval ( interval ) } />
160
+ } } minValue = { 0 } maxValue = { 4 } step = { .5 } value = { speed }
161
+ onChange = { speed => this . handleChangeSpeed ( speed ) } />
161
162
</ div >
162
163
</ div >
163
164
) ;
0 commit comments