From f6c835e3ce1b40ad364d17b03e52000997bab768 Mon Sep 17 00:00:00 2001 From: Ryan Heise Date: Sun, 13 Sep 2020 23:02:05 +1000 Subject: [PATCH] use _player.rate=_speed in all locations --- darwin/Classes/AudioPlayer.m | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/darwin/Classes/AudioPlayer.m b/darwin/Classes/AudioPlayer.m index 3d46f0f..c53ad79 100644 --- a/darwin/Classes/AudioPlayer.m +++ b/darwin/Classes/AudioPlayer.m @@ -850,7 +850,7 @@ if (shouldResumePlayback) { _player.actionAtItemEnd = originalEndAction; // TODO: This logic is almost duplicated in seek. See if we can reuse this code. - [_player play]; + _player.rate = _speed; } }]; } else { @@ -1072,7 +1072,7 @@ } } if (_playing) { - [_player play]; + _player.rate = _speed; } _seekPos = kCMTimeInvalid; [self broadcastPlaybackEvent]; @@ -1083,7 +1083,15 @@ } else { _seekPos = kCMTimeInvalid; if (_playing) { - [_player play]; + if (@available(iOS 10.0, *)) { + // NOTE: Re-enable this line only after figuring out + // how to detect buffering when buffered audio is not + // immediately available. + //[_player playImmediatelyAtRate:_speed]; + _player.rate = _speed; + } else { + _player.rate = _speed; + } } } } @@ -1106,7 +1114,11 @@ // 1. checkForDiscontinuity // 2. timeControlStatus if (@available(iOS 10.0, *)) { - [_player playImmediatelyAtRate:_speed]; + // NOTE: Re-enable this line only after figuring out how to + // detect buffering when buffered audio is not immediately + // available. + //[_player playImmediatelyAtRate:_speed]; + _player.rate = _speed; } else { _player.rate = _speed; }