diff --git a/examples/Recorder.js b/examples/Recorder.js index 46b2a2b70c..40bf2d2ed1 100644 --- a/examples/Recorder.js +++ b/examples/Recorder.js @@ -159,9 +159,7 @@ function updateTimer() { if (MyAvatar.isRecording()) { slider.pos = 1.0; - } else if (!MyAvatar.isPlaying) { - slider.pos = 0.0; - } else { + } else if (MyAvatar.playerLength() > 0) { slider.pos = MyAvatar.playerElapsed() / MyAvatar.playerLength(); } @@ -283,9 +281,9 @@ function mousePressEvent(event) { toolBar.setAlpha(ALPHA_ON, saveIcon); } } - } else if (MyAvatar.isPlaying() && - slider.x < event.x < slider.x + slider.w && - slider.y < event.y < slider.y + slider.h) { + } else if (MyAvatar.playerLength() > 0 && + slider.x < event.x && event.x < slider.x + slider.w && + slider.y < event.y && event.y < slider.y + slider.h) { isSliding = true; slider.pos = (event.x - slider.x) / slider.w; MyAvatar.setPlayerTime(slider.pos * MyAvatar.playerLength()); @@ -293,14 +291,12 @@ function mousePressEvent(event) { } var isSliding = false; - function mouseMoveEvent(event) { if (isSliding) { slider.pos = (event.x - slider.x) / slider.w; - if (slider.pos < 0.0) { + if (slider.pos < 0.0 || slider.pos > 1.0) { + MyAvatar.stopPlaying(); slider.pos = 0.0; - } else if (slider.pos > 1.0) { - slider.pos = 1.0; } MyAvatar.setPlayerTime(slider.pos * MyAvatar.playerLength()); } diff --git a/libraries/audio/src/AudioInjector.cpp b/libraries/audio/src/AudioInjector.cpp index f6dd7fa058..c3b40d60b0 100644 --- a/libraries/audio/src/AudioInjector.cpp +++ b/libraries/audio/src/AudioInjector.cpp @@ -96,8 +96,6 @@ void AudioInjector::injectAudio() { timer.start(); int nextFrame = 0; - _currentSendPosition = 0; - int numPreAudioDataBytes = injectAudioPacket.size(); bool shouldLoop = _options.getLoop(); diff --git a/libraries/avatars/src/Player.cpp b/libraries/avatars/src/Player.cpp index f28b3da547..94696e5ace 100644 --- a/libraries/avatars/src/Player.cpp +++ b/libraries/avatars/src/Player.cpp @@ -257,9 +257,14 @@ void Player::setCurrentFrame(int currentFrame) { _currentFrame = currentFrame; _timerOffset = _recording->getFrameTimestamp(_currentFrame); - _timer.start(); - setAudionInjectorPosition(); + if (isPlaying()) { + _timer.start(); + setAudionInjectorPosition(); + } else { + _isPaused = true; + _pausedFrame = currentFrame; + } } void Player::setCurrentTime(qint64 currentTime) { @@ -298,9 +303,14 @@ void Player::setCurrentTime(qint64 currentTime) { _currentFrame = lowestBound; _timerOffset = _recording->getFrameTimestamp(lowestBound); - _timer.start(); - setAudionInjectorPosition(); + if (isPlaying()) { + _timer.start(); + setAudionInjectorPosition(); + } else { + _isPaused = true; + _pausedFrame = lowestBound; + } } void Player::setAudionInjectorPosition() {