提交 930be344 编写于 作者: B bbcallen

ios: expose idleTimerDisabled property

上级 de4d7db8
......@@ -17,6 +17,8 @@
E66F8E0317EFEEA400354D80 /* ijkplayer_ios.m in Sources */ = {isa = PBXBuildFile; fileRef = E66F8E0117EFEEA400354D80 /* ijkplayer_ios.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
E6716E4B1807E5FC00B3FBC1 /* IJKMediaUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = E6716E4A1807E5FC00B3FBC1 /* IJKMediaUtils.m */; };
E6716E4E1807EA5000B3FBC1 /* IJKFFMrl.m in Sources */ = {isa = PBXBuildFile; fileRef = E6716E4D1807EA5000B3FBC1 /* IJKFFMrl.m */; };
E672D6F318D3445100C51FF9 /* IJKMediaModule.m in Sources */ = {isa = PBXBuildFile; fileRef = E672D6F218D3445100C51FF9 /* IJKMediaModule.m */; };
E672D6F418D345C100C51FF9 /* IJKMediaModule.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = E672D6F118D3445100C51FF9 /* IJKMediaModule.h */; };
E6903EC217EAF6C500CFD954 /* IJKMediaPlayback.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = E6903EC117EAF6C500CFD954 /* IJKMediaPlayback.h */; };
E6903FC717EAFC2C00CFD954 /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E6903FC217EAFC2C00CFD954 /* libavcodec.a */; };
E6903FC817EAFC2C00CFD954 /* libavformat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E6903FC317EAFC2C00CFD954 /* libavformat.a */; };
......@@ -59,6 +61,7 @@
dstPath = "include/${PRODUCT_NAME}";
dstSubfolderSpec = 16;
files = (
E672D6F418D345C100C51FF9 /* IJKMediaModule.h in CopyFiles */,
E62139BF180FAE5F00553533 /* IJKFFOptions.h in CopyFiles */,
E6F727BE17F40C390043623F /* IJKFFMoviePlayerController.h in CopyFiles */,
E6F727BD17F40C360043623F /* IJKMPMoviePlayerController.h in CopyFiles */,
......@@ -90,6 +93,8 @@
E6716E4A1807E5FC00B3FBC1 /* IJKMediaUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = IJKMediaUtils.m; path = IJKMediaPlayer/IJKMediaUtils.m; sourceTree = "<group>"; };
E6716E4C1807EA4F00B3FBC1 /* IJKFFMrl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IJKFFMrl.h; sourceTree = "<group>"; };
E6716E4D1807EA5000B3FBC1 /* IJKFFMrl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IJKFFMrl.m; sourceTree = "<group>"; };
E672D6F118D3445100C51FF9 /* IJKMediaModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IJKMediaModule.h; path = IJKMediaPlayer/IJKMediaModule.h; sourceTree = "<group>"; };
E672D6F218D3445100C51FF9 /* IJKMediaModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = IJKMediaModule.m; path = IJKMediaPlayer/IJKMediaModule.m; sourceTree = "<group>"; };
E6903EB917EAF6C500CFD954 /* libIJKMediaPlayer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libIJKMediaPlayer.a; sourceTree = BUILT_PRODUCTS_DIR; };
E6903EC017EAF6C500CFD954 /* IJKMediaPlayer-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "IJKMediaPlayer-Prefix.pch"; sourceTree = "<group>"; };
E6903EC117EAF6C500CFD954 /* IJKMediaPlayback.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = IJKMediaPlayback.h; path = IJKMediaPlayer/IJKMediaPlayback.h; sourceTree = "<group>"; };
......@@ -616,13 +621,15 @@
E6F727B517F2B1690043623F /* IJKMediaPlayer */ = {
isa = PBXGroup;
children = (
E6EE92A1187810C5009EAB56 /* IJKAudioKit.h */,
E6EE92A2187810C5009EAB56 /* IJKAudioKit.m */,
E672D6F118D3445100C51FF9 /* IJKMediaModule.h */,
E672D6F218D3445100C51FF9 /* IJKMediaModule.m */,
E6903EC117EAF6C500CFD954 /* IJKMediaPlayback.h */,
E6F727C117F7C9B90043623F /* IJKMediaPlayback.m */,
E66F8DC217EECB1E00354D80 /* IJKMediaPlayer.h */,
E6716E491807E5FC00B3FBC1 /* IJKMediaUtils.h */,
E6716E4A1807E5FC00B3FBC1 /* IJKMediaUtils.m */,
E6EE92A1187810C5009EAB56 /* IJKAudioKit.h */,
E6EE92A2187810C5009EAB56 /* IJKAudioKit.m */,
);
name = IJKMediaPlayer;
sourceTree = "<group>";
......@@ -685,6 +692,7 @@
E690402D17EAFC6100CFD954 /* ijksdl_vout_overlay_ffmpeg.c in Sources */,
E690402E17EAFC6100CFD954 /* ijksdl_aout.c in Sources */,
E690402F17EAFC6100CFD954 /* ijksdl_error.c in Sources */,
E672D6F318D3445100C51FF9 /* IJKMediaModule.m in Sources */,
E690403017EAFC6100CFD954 /* ijksdl_mutex.c in Sources */,
E6EE92C818782770009EAB56 /* IJKSDLAudioKit.m in Sources */,
E690403117EAFC6100CFD954 /* ijksdl_stdinc.c in Sources */,
......
......@@ -23,6 +23,7 @@
#import "IJKFFMoviePlayerController.h"
#import "IJKFFMoviePlayerDef.h"
#import "IJKMediaPlayback.h"
#import "IJKMediaModule.h"
#import "IJKFFMrl.h"
#import "IJKAudioKit.h"
......@@ -44,7 +45,6 @@
NSInteger _bufferingTime;
BOOL _keepScreenOnWhilePlaying;
BOOL _savedIdleTimerDisabled;
}
@synthesize view = _view;
......@@ -109,7 +109,6 @@
[options applyTo:_mediaPlayer];
_keepScreenOnWhilePlaying = YES;
_savedIdleTimerDisabled = [UIApplication sharedApplication].idleTimerDisabled;
[self setScreenOn:YES];
}
return self;
......@@ -124,7 +123,8 @@
- (void)setScreenOn: (BOOL)on
{
[UIApplication sharedApplication].idleTimerDisabled = on;
[IJKMediaModule sharedModule].mediaModuleIdleTimerDisabled = on;
// [UIApplication sharedApplication].idleTimerDisabled = on;
}
- (void)dealloc
......@@ -171,7 +171,7 @@
if (!_mediaPlayer)
return;
[self setScreenOn:_savedIdleTimerDisabled];
[self setScreenOn:NO];
ijkmp_stop(_mediaPlayer);
}
......@@ -189,7 +189,7 @@
if (!_mediaPlayer)
return;
[self setScreenOn:_savedIdleTimerDisabled];
[self setScreenOn:NO];
[self performSelectorInBackground:@selector(shupdownWaitStop:) withObject:self];
}
......@@ -327,7 +327,7 @@
case FFP_MSG_ERROR: {
NSLog(@"FFP_MSG_ERROR: %d", avmsg->arg1);
[self setScreenOn:_savedIdleTimerDisabled];
[self setScreenOn:NO];
[[NSNotificationCenter defaultCenter]
postNotificationName:IJKMoviePlayerPlaybackDidFinishNotification object:self];
......@@ -356,7 +356,7 @@
break;
case FFP_MSG_COMPLETED: {
[self setScreenOn:_savedIdleTimerDisabled];
[self setScreenOn:NO];
[[NSNotificationCenter defaultCenter]
postNotificationName:IJKMoviePlayerPlaybackDidFinishNotification object:self];
......
//
// IJKMediaModule.h
// IJKMediaPlayer
//
// Created by ZhangRui on 14-3-14.
// Copyright (c) 2014年 bilibili. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface IJKMediaModule : NSObject
+ (IJKMediaModule *)sharedModule;
@property(atomic, getter=isAppIdleTimerDisabled) BOOL appIdleTimerDisabled;
@property(atomic, getter=isMediaModuleIdleTimerDisabled) BOOL mediaModuleIdleTimerDisabled;
@end
//
// IJKMediaModule.m
// IJKMediaPlayer
//
// Created by ZhangRui on 14-3-14.
// Copyright (c) 2014年 bilibili. All rights reserved.
//
#import "IJKMediaModule.h"
@implementation IJKMediaModule
@synthesize appIdleTimerDisabled = _appIdleTimerDisabled;
@synthesize mediaModuleIdleTimerDisabled = _mediaModuleIdleTimerDisabled;
+ (IJKMediaModule *)sharedModule
{
static IJKMediaModule *obj = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
obj = [[IJKMediaModule alloc] init];
});
return obj;
}
- (void)setAppIdleTimerDisabled:(BOOL) idleTimerDisabled
{
_appIdleTimerDisabled = idleTimerDisabled;
[self updateIdleTimer];
}
- (BOOL)isAppIdleTimerDisabled
{
return _appIdleTimerDisabled;
}
- (void)setMediaModuleIdleTimerDisabled:(BOOL) idleTimerDisabled
{
_mediaModuleIdleTimerDisabled = idleTimerDisabled;
[self updateIdleTimer];
}
- (BOOL)isMediaModuleIdleTimerDisabled
{
return _mediaModuleIdleTimerDisabled;
}
- (void)updateIdleTimer
{
if (self.appIdleTimerDisabled || self.mediaModuleIdleTimerDisabled) {
[UIApplication sharedApplication].idleTimerDisabled = YES;
} else {
[UIApplication sharedApplication].idleTimerDisabled = NO;
}
}
@end
......@@ -25,3 +25,5 @@
#import "IJKFFOptions.h"
#import "IJKFFMoviePlayerController.h"
#import "IJKMediaModule.h"
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册