提交 cc6f5bab 编写于 作者: B bbcallen

ios: player: keep screen on while playing

上级 43d35f3a
......@@ -37,6 +37,9 @@
NSInteger _sampleAspectRatioDenominator;
NSInteger _bufferingTime;
BOOL _keepScreenOnWhilePlaying;
BOOL _savedIdleTimerDisabled;
}
@synthesize view = _view;
......@@ -86,10 +89,19 @@
ijkmp_set_overlay_format(_mediaPlayer, SDL_FCC_I420);
[options applyTo:_mediaPlayer];
_keepScreenOnWhilePlaying = YES;
_savedIdleTimerDisabled = [UIApplication sharedApplication].idleTimerDisabled;
[self setScreenOn:YES];
}
return self;
}
- (void)setScreenOn: (BOOL)on
{
[UIApplication sharedApplication].idleTimerDisabled = on;
}
- (void)dealloc
{
[_ffMrl removeTempFiles];
......@@ -100,6 +112,8 @@
if (!_mediaPlayer)
return;
[self setScreenOn:_keepScreenOnWhilePlaying];
ijkmp_set_data_source(_mediaPlayer, [_ffMrl.resolvedMrl UTF8String]);
ijkmp_set_format_option(_mediaPlayer, "safe", "0"); // for concat demuxer
ijkmp_prepare_async(_mediaPlayer);
......@@ -110,6 +124,8 @@
if (!_mediaPlayer)
return;
[self setScreenOn:_keepScreenOnWhilePlaying];
ijkmp_start(_mediaPlayer);
}
......@@ -126,6 +142,8 @@
if (!_mediaPlayer)
return;
[self setScreenOn:_savedIdleTimerDisabled];
ijkmp_stop(_mediaPlayer);
}
......@@ -142,6 +160,8 @@
if (!_mediaPlayer)
return;
[self setScreenOn:_savedIdleTimerDisabled];
[self performSelectorInBackground:@selector(shupdownWaitStop:) withObject:self];
}
......@@ -269,6 +289,8 @@
case FFP_MSG_ERROR: {
NSLog(@"FFP_MSG_ERROR: %d", avmsg->arg1);
[self setScreenOn:_savedIdleTimerDisabled];
[[NSNotificationCenter defaultCenter]
postNotificationName:IJKMoviePlayerPlaybackDidFinishNotification object:self];
......@@ -296,6 +318,8 @@
break;
case FFP_MSG_COMPLETED: {
[self setScreenOn:_savedIdleTimerDisabled];
[[NSNotificationCenter defaultCenter]
postNotificationName:IJKMoviePlayerPlaybackDidFinishNotification object:self];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册