Added play when inactive to support playing while showing notification center.

This commit is contained in:
tobias 2016-04-29 13:55:34 +02:00
parent 39443ae371
commit eb31337837
3 changed files with 13 additions and 4 deletions

View File

@ -37,6 +37,7 @@ static NSString *const playbackBufferEmptyKeyPath = @"playbackBufferEmpty";
BOOL _paused; BOOL _paused;
BOOL _repeat; BOOL _repeat;
BOOL _playInBackground; BOOL _playInBackground;
BOOL _playWhenInactive;
NSString * _resizeMode; NSString * _resizeMode;
BOOL _fullscreenPlayerPresented; BOOL _fullscreenPlayerPresented;
UIViewController * _presentingViewController; UIViewController * _presentingViewController;
@ -57,6 +58,7 @@ static NSString *const playbackBufferEmptyKeyPath = @"playbackBufferEmpty";
_controls = NO; _controls = NO;
_playerBufferEmpty = YES; _playerBufferEmpty = YES;
_playInBackground = false; _playInBackground = false;
_playWhenInactive = false;
[[NSNotificationCenter defaultCenter] addObserver:self [[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationWillResignActive:) selector:@selector(applicationWillResignActive:)
@ -124,10 +126,10 @@ static NSString *const playbackBufferEmptyKeyPath = @"playbackBufferEmpty";
- (void)applicationWillResignActive:(NSNotification *)notification - (void)applicationWillResignActive:(NSNotification *)notification
{ {
if (!_paused && !_playInBackground) { if (_playInBackground || _playWhenInactive || _paused) return;
[_player pause];
[_player setRate:0.0]; [_player pause];
} [_player setRate:0.0];
} }
- (void)applicationDidEnterBackground:(NSNotification *)notification - (void)applicationDidEnterBackground:(NSNotification *)notification
@ -371,6 +373,11 @@ static NSString *const playbackBufferEmptyKeyPath = @"playbackBufferEmpty";
_playInBackground = playInBackground; _playInBackground = playInBackground;
} }
- (void)setPlayWhenInactive:(BOOL)playWhenInactive
{
_playWhenInactive = playWhenInactive;
}
- (void)setPaused:(BOOL)paused - (void)setPaused:(BOOL)paused
{ {
if (paused) { if (paused) {

View File

@ -21,6 +21,7 @@ var Video = React.createClass({
volume: PropTypes.number, volume: PropTypes.number,
rate: PropTypes.number, rate: PropTypes.number,
playInBackground: PropTypes.bool, playInBackground: PropTypes.bool,
playWhenInactive: PropTypes.bool,
onLoadStart: PropTypes.func, onLoadStart: PropTypes.func,
onLoad: PropTypes.func, onLoad: PropTypes.func,
onError: PropTypes.func, onError: PropTypes.func,

View File

@ -187,6 +187,7 @@ Video.propTypes = {
volume: PropTypes.number, volume: PropTypes.number,
rate: PropTypes.number, rate: PropTypes.number,
playInBackground: PropTypes.bool, playInBackground: PropTypes.bool,
playWhenInactive: PropTypes.bool,
controls: PropTypes.bool, controls: PropTypes.bool,
currentTime: PropTypes.number, currentTime: PropTypes.number,
onLoadStart: PropTypes.func, onLoadStart: PropTypes.func,