diff --git a/src/components/audio-trimmer/audio-trimmer.jsx b/src/components/audio-trimmer/audio-trimmer.jsx index a03e7bcd1..f785704fe 100644 --- a/src/components/audio-trimmer/audio-trimmer.jsx +++ b/src/components/audio-trimmer/audio-trimmer.jsx @@ -13,7 +13,7 @@ const AudioTrimmer = props => ( @@ -32,7 +32,7 @@ const AudioTrimmer = props => ( ) : null} @@ -40,8 +40,8 @@ const AudioTrimmer = props => ( diff --git a/src/containers/audio-trimmer.jsx b/src/containers/audio-trimmer.jsx index 460769729..cfc077ded 100644 --- a/src/containers/audio-trimmer.jsx +++ b/src/containers/audio-trimmer.jsx @@ -17,14 +17,14 @@ class AudioTrimmer extends React.Component { } handleTrimStartMouseMove (e) { const containerSize = this.containerElement.getBoundingClientRect().width; - const dx = 100 * (e.clientX - this.initialX) / containerSize; - const newTrim = Math.max(1, Math.min(this.props.trimEnd, this.initialTrim + dx)); + const dx = (e.clientX - this.initialX) / containerSize; + const newTrim = Math.max(0.01, Math.min(this.props.trimEnd, this.initialTrim + dx)); this.props.onSetTrimStart(newTrim); } handleTrimEndMouseMove (e) { const containerSize = this.containerElement.getBoundingClientRect().width; - const dx = 100 * (e.clientX - this.initialX) / containerSize; - const newTrim = Math.min(99, Math.max(this.props.trimStart, this.initialTrim + dx)); + const dx = (e.clientX - this.initialX) / containerSize; + const newTrim = Math.min(0.99, Math.max(this.props.trimStart, this.initialTrim + dx)); this.props.onSetTrimEnd(newTrim); } handleTrimStartMouseUp () { diff --git a/src/containers/record-modal.jsx b/src/containers/record-modal.jsx index ab05d6490..6a4f2f113 100644 --- a/src/containers/record-modal.jsx +++ b/src/containers/record-modal.jsx @@ -66,8 +66,8 @@ class RecordModal extends React.Component { handleSubmit () { this.setState({encoding: true}, () => { const sampleCount = this.state.samples.length; - const startIndex = Math.floor(this.state.trimStart * sampleCount / 100); - const endIndex = Math.floor(this.state.trimEnd * sampleCount / 100); + const startIndex = Math.floor(this.state.trimStart * sampleCount); + const endIndex = Math.floor(this.state.trimEnd * sampleCount); const clippedSamples = this.state.samples.slice(startIndex, endIndex); WavEncoder.encode({ sampleRate: this.state.sampleRate, diff --git a/src/lib/audio/audio-buffer-player.js b/src/lib/audio/audio-buffer-player.js index 73bd5bcb8..502e265e1 100644 --- a/src/lib/audio/audio-buffer-player.js +++ b/src/lib/audio/audio-buffer-player.js @@ -16,8 +16,8 @@ class AudioBufferPlayer { this.trimEnd = trimEnd; this.startTime = Date.now(); - const trimStartTime = this.buffer.duration * trimStart / 100; - const trimmedDuration = this.buffer.duration * trimEnd / 100 - trimStartTime; + const trimStartTime = this.buffer.duration * trimStart; + const trimmedDuration = this.buffer.duration * trimEnd - trimStartTime; this.source = this.audioContext.createBufferSource(); this.source.onended = onEnded; @@ -30,7 +30,7 @@ class AudioBufferPlayer { update () { const timeSinceStart = (Date.now() - this.startTime) / 1000; - const percentage = 100 * timeSinceStart / this.buffer.duration; + const percentage = timeSinceStart / this.buffer.duration; if (percentage + this.trimStart < this.trimEnd && this.source.onended) { requestAnimationFrame(this.update.bind(this)); this.updateCallback(percentage + this.trimStart); diff --git a/src/lib/audio/audio-recorder.js b/src/lib/audio/audio-recorder.js index b43439999..ace2b9807 100644 --- a/src/lib/audio/audio-recorder.js +++ b/src/lib/audio/audio-recorder.js @@ -102,8 +102,8 @@ class AudioRecorder { } } - const trimStart = 100 * Math.max(2, firstChunkAboveThreshold - 2) / this.buffers.length; - const trimEnd = 100 * Math.min(this.buffers.length - 2, lastChunkAboveThreshold + 2) / this.buffers.length; + const trimStart = Math.max(2, firstChunkAboveThreshold - 2) / this.buffers.length; + const trimEnd = Math.min(this.buffers.length - 2, lastChunkAboveThreshold + 2) / this.buffers.length; const buffer = new Float32Array(this.buffers.length * this.bufferLength);