From 9d82e16a140877fc06c17c7d4bd090d6a09e9e22 Mon Sep 17 00:00:00 2001 From: xiujiekeman Date: Tue, 17 Jan 2017 15:03:53 +0800 Subject: [PATCH 1/5] Update MPVolumeObserver.h video or take photo delegate --- Class/MPVolumeObserver.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Class/MPVolumeObserver.h b/Class/MPVolumeObserver.h index cde14ad..facec39 100755 --- a/Class/MPVolumeObserver.h +++ b/Class/MPVolumeObserver.h @@ -1,4 +1,5 @@ // Created by tashigaofei on 13/08/26. +// Change by LJT on 17/01/15 #import #import @@ -6,7 +7,11 @@ @class MPVolumeObserver; @protocol MPVolumeObserverProtocol --(void) volumeButtonDidClick:(MPVolumeObserver *) button; +-(void) volumeButtonCameraClick:(MPVolumeObserver *) button; +-(void) volumeButtonStarVideoClick:(MPVolumeObserver *) button; +-(void) volumeButtonEndVideoClick:(MPVolumeObserver *) button; + + @end From 20db554c9a393820ce01210c9f2211823b2e2829 Mon Sep 17 00:00:00 2001 From: xiujiekeman Date: Tue, 17 Jan 2017 15:04:21 +0800 Subject: [PATCH 2/5] Update MPVolumeObserver.m --- Class/MPVolumeObserver.m | 176 +++++++++++++++++++++++++++++---------- 1 file changed, 130 insertions(+), 46 deletions(-) diff --git a/Class/MPVolumeObserver.m b/Class/MPVolumeObserver.m index 0868b52..7085c73 100755 --- a/Class/MPVolumeObserver.m +++ b/Class/MPVolumeObserver.m @@ -1,17 +1,23 @@ - -// Created by tashigaofei on 13/08/26. -// - #import "MPVolumeObserver.h" +@import AVFoundation; @interface MPVolumeObserver() { - UIView *_volumeView; - float launchVolume; - BOOL _isObservingVolumeButtons; - BOOL _suspended; + MPVolumeView *_volumeView; + float launchVolume; + BOOL _isObservingVolumeButtons; + BOOL _suspended; + int Isfirst; + NSString *strNowVolume; + NSTimer *timeVideoBtn; + NSInteger secondsElapsed; + BOOL isVideoStar; + BOOL isVideoEnd; + + float fVolume; } + @end @implementation MPVolumeObserver @@ -23,7 +29,7 @@ +(MPVolumeObserver*) sharedInstance; dispatch_once(&onceToken, ^{ instance = [[MPVolumeObserver alloc] init]; }); - + return instance; } @@ -33,42 +39,41 @@ -(id)init if( self ){ _isObservingVolumeButtons = NO; _suspended = NO; - CGRect frame = CGRectMake(0, -100, 0, 0); - _volumeView = [[MPVolumeView alloc] initWithFrame:frame]; - [[UIApplication sharedApplication].windows[0] addSubview:_volumeView]; - + Isfirst = 0; + secondsElapsed = 0; + } return self; } -(void)startObserveVolumeChangeEvents { - double delayInSeconds = 0.25; - dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); - dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ - [self startObserve]; - }); + _suspended = NO; + isVideoStar = YES; + isVideoEnd = NO; + fVolume = [self volume]; + [self startObserve]; } -(void) startObserve; { - if(_isObservingVolumeButtons) { + NSLog(@"start add notification"); + if(_isObservingVolumeButtons) + { return; } _isObservingVolumeButtons = YES; - AudioSessionInitialize(NULL, NULL, NULL, NULL); - SInt32 process = kAudioSessionCategory_AmbientSound; - AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(process), &process); - AudioSessionSetActive(YES); - - launchVolume = [[MPMusicPlayerController applicationMusicPlayer] volume]; - launchVolume = launchVolume == 0 ? 0.05 : launchVolume; - launchVolume = launchVolume == 1 ? 0.95 : launchVolume; - if (launchVolume == 0.05 || launchVolume == 0.95) { - [[MPMusicPlayerController applicationMusicPlayer] setVolume:launchVolume]; + CGRect frame = CGRectMake(0, -100, 0, 0); + _volumeView = [[MPVolumeView alloc] initWithFrame:frame]; + [[UIApplication sharedApplication].windows[0] addSubview:_volumeView]; + strNowVolume = [[ NSString stringWithFormat:@"%f",[self volume] ] substringToIndex:4]; + strNowVolume = [strNowVolume isEqual: @"0.00"] ? @"0.05" : strNowVolume; + strNowVolume = [strNowVolume isEqual: @"1.00"] ? @"0.95" : strNowVolume; + if ([strNowVolume isEqual: @"0.05"] || [strNowVolume isEqualToString:@"0.95"]) + { + [self setVolume:[strNowVolume floatValue]]; } - if (!_suspended) { [[NSNotificationCenter defaultCenter] addObserver:self @@ -84,8 +89,6 @@ -(void) startObserve; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(volumeChangeNotification:) name:@"SystemVolumeDidChange" object:nil]; } - - } -(void) volumeChangeNotification:(NSNotification *) no @@ -95,17 +98,74 @@ -(void) volumeChangeNotification:(NSNotification *) no sender = no.object; } - if (no.object != sender || [[no.userInfo objectForKey:@"AudioVolume"] floatValue] == launchVolume) { + NSString * NowChangeVolume = [[ NSString stringWithFormat:@"%f",[[no.userInfo objectForKey:@"AudioVolume"] floatValue] ] substringToIndex:4]; + if (no.object != sender || [NowChangeVolume isEqualToString: strNowVolume]) { return; } - [[MPMusicPlayerController applicationMusicPlayer] setVolume:launchVolume]; - - if ([_delegate respondsToSelector:@selector(volumeButtonDidClick:)]) { - [_delegate volumeButtonDidClick:self]; + [self setVolume:fVolume]; + if(timeVideoBtn) + { + if(secondsElapsed == 1) + { + if (isVideoStar) + { + NSLog(@"start video"); + if ([self.delegate respondsToSelector:@selector(volumeButtonStarVideoClick:)]) { + [self.delegate volumeButtonStarVideoClick:self]; + } + isVideoStar = NO; + isVideoEnd = YES; + } + } + secondsElapsed ++; + [timeVideoBtn invalidate]; } -// NSLog(@"\n\n%@\n\n", no); + timeVideoBtn = [NSTimer scheduledTimerWithTimeInterval:0.2 + target:self + selector:@selector(onTimeFire) + userInfo:nil + repeats:NO]; +} + +-(void)onTimeFire +{ + + timeVideoBtn = nil; + + if (secondsElapsed > 2) + { + if (isVideoEnd) { + secondsElapsed = 0; + NSLog(@"end video"); + if ([self.delegate respondsToSelector:@selector(volumeButtonEndVideoClick:)]) { + [self.delegate volumeButtonEndVideoClick:self]; + isVideoEnd = NO; + } + } + } + else + { + double delayInSeconds = 0.65; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self tackPhoto]; + }); + } +} + + + + +- (void)tackPhoto +{ + if (isVideoStar) + { + NSLog(@"tack Photo"); + if ([self.delegate respondsToSelector:@selector(volumeButtonCameraClick:)]) { + [self.delegate volumeButtonCameraClick:self]; + } + } } @@ -115,6 +175,7 @@ - (void)suspendObserveVolumeChangeEvents:(NSNotification *)notification { _suspended = YES; // Call first! [self stopObserveVolumeChangeEvents]; + Isfirst = 0; } } @@ -123,6 +184,7 @@ - (void)resumeObserveVolumeButtonEvents:(NSNotification *)notification if(_suspended) { [self startObserveVolumeChangeEvents]; + Isfirst = 0; _suspended = NO; // Call last! } } @@ -134,20 +196,42 @@ -(void)stopObserveVolumeChangeEvents return; } - if (!_suspended){ - [[NSNotificationCenter defaultCenter] removeObserver:self]; - } - AudioSessionRemovePropertyListenerWithUserData(kAudioSessionProperty_CurrentHardwareOutputVolume, NULL, self); - AudioSessionSetActive(NO); - + [[NSNotificationCenter defaultCenter]removeObserver:self name:@"SystemVolumeDidChange" object:nil]; + + Isfirst = 0; + [timeVideoBtn invalidate]; + secondsElapsed = 0; _isObservingVolumeButtons = NO; } +- (float)volume +{ + AVAudioSession *audioSession = [AVAudioSession sharedInstance]; + CGFloat volume = audioSession.outputVolume; + return volume; +} + +- (void)setVolume:(float)newVolume +{ + MPVolumeView* volumeView = [[MPVolumeView alloc] init]; + + //find the volumeSlider + UISlider* volumeViewSlider = nil; + for (UIView *view in [volumeView subviews]){ + if ([view.class.description isEqualToString:@"MPVolumeSlider"]){ + volumeViewSlider = (UISlider*)view; + break; + } + } + + [volumeViewSlider setValue:newVolume animated:YES]; + [volumeViewSlider sendActionsForControlEvents:UIControlEventTouchUpInside]; +} -(void)dealloc { - _suspended = NO; - [super dealloc]; + _suspended = NO; + Isfirst = 0; } @end From fc9241c4f8794ba3f570e44b72fdc4a92f66b41f Mon Sep 17 00:00:00 2001 From: xiujiekeman Date: Tue, 17 Jan 2017 15:12:29 +0800 Subject: [PATCH 3/5] Update ViewController.m --- .../MPLovumeObserveDemo/ViewController.m | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo/ViewController.m b/MPLovumeObserveDemo/MPLovumeObserveDemo/ViewController.m index 6186d16..634d2cb 100644 --- a/MPLovumeObserveDemo/MPLovumeObserveDemo/ViewController.m +++ b/MPLovumeObserveDemo/MPLovumeObserveDemo/ViewController.m @@ -33,11 +33,26 @@ - (void)didReceiveMemoryWarning [super didReceiveMemoryWarning]; } +-(void) volumeButtonCameraClick:(MPVolumeObserver *) button +{ + NSLog(@"take Photo"); + VolumeTwoVC *vc = [[VolumeTwoVC alloc]init]; + [self.navigationController pushViewController:vc animated:YES]; +} + --(void) volumeButtonDidClick:(MPVolumeObserver *) button; +-(void) volumeButtonStarVideoClick:(MPVolumeObserver *) button { - NSLog(@"change"); - + NSLog(@"start video"); } + +-(void) volumeButtonEndVideoClick:(MPVolumeObserver *) button +{ + NSLog(@"end Video"); + VolumeTwoVC *vc = [[VolumeTwoVC alloc]init]; + [self.navigationController pushViewController:vc animated:YES]; +} + + @end From e723d1f5306e43623e770a9aabfe4e2caadba908 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BC=91=E6=9D=B0=E5=85=8B=E6=9B=BC?= Date: Tue, 17 Jan 2017 15:32:12 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=88=A4=E6=96=AD=E9=95=BF=E6=8C=89?= =?UTF-8?q?=E7=9F=AD=E6=8C=89=20=E5=8C=BA=E5=88=86=E6=8B=8D=E7=85=A7?= =?UTF-8?q?=E5=92=8C=E5=BD=95=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Class/MPVolumeObserver.h | 1 + Class/MPVolumeObserver.m | 5 +- .../project.pbxproj | 24 ++++- .../contents.xcworkspacedata | 0 .../WorkspaceSettings.xcsettings | 0 .../UserInterfaceState.xcuserstate | Bin 0 -> 16724 bytes .../xcdebugger/Breakpoints.xcbkptlist | 0 .../xcschemes/MPLovumeObserveDemo.xcscheme | 0 .../xcschemes/xcschememanagement.plist | 0 .../xcschemes/MPLovumeObserveDemo.xcscheme | 91 ++++++++++++++++++ .../xcschemes/xcschememanagement.plist | 22 +++++ .../MPLovumeObserveDemo/AppDelegate.h | 0 .../MPLovumeObserveDemo/AppDelegate.m | 13 +-- .../MPLovumeObserveDemo/Default-568h@2x.png | Bin .../MPLovumeObserveDemo/Default.png | Bin .../MPLovumeObserveDemo/Default@2x.png | Bin .../MPLovumeObserveDemo-Info.plist | 0 .../MPLovumeObserveDemo-Prefix.pch | 0 .../MPLovumeObserveDemo/PushVC.h | 13 +++ .../MPLovumeObserveDemo/PushVC.m | 38 ++++++++ .../MPLovumeObserveDemo/ViewController.h | 0 .../MPLovumeObserveDemo/ViewController.m | 34 +++++-- .../en.lproj/InfoPlist.strings | 0 .../MPLovumeObserveDemo/main.m | 0 README.md | 0 25 files changed, 219 insertions(+), 22 deletions(-) mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.pbxproj mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.xcworkspace/xcuserdata/tashigaofei.xcuserdatad/WorkspaceSettings.xcsettings create mode 100644 MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.xcworkspace/xcuserdata/xiujiekeman.xcuserdatad/UserInterfaceState.xcuserstate mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/tashigaofei.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/tashigaofei.xcuserdatad/xcschemes/MPLovumeObserveDemo.xcscheme mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/tashigaofei.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/xiujiekeman.xcuserdatad/xcschemes/MPLovumeObserveDemo.xcscheme create mode 100644 MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/xiujiekeman.xcuserdatad/xcschemes/xcschememanagement.plist mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo/AppDelegate.h mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo/AppDelegate.m mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo/Default-568h@2x.png mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo/Default.png mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo/Default@2x.png mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo/MPLovumeObserveDemo-Info.plist mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo/MPLovumeObserveDemo-Prefix.pch create mode 100644 MPLovumeObserveDemo/MPLovumeObserveDemo/PushVC.h create mode 100644 MPLovumeObserveDemo/MPLovumeObserveDemo/PushVC.m mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo/ViewController.h mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo/ViewController.m mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo/en.lproj/InfoPlist.strings mode change 100644 => 100755 MPLovumeObserveDemo/MPLovumeObserveDemo/main.m mode change 100644 => 100755 README.md diff --git a/Class/MPVolumeObserver.h b/Class/MPVolumeObserver.h index facec39..afdd01c 100755 --- a/Class/MPVolumeObserver.h +++ b/Class/MPVolumeObserver.h @@ -4,6 +4,7 @@ #import #import #import +#import @class MPVolumeObserver; @protocol MPVolumeObserverProtocol diff --git a/Class/MPVolumeObserver.m b/Class/MPVolumeObserver.m index 7085c73..79e110b 100755 --- a/Class/MPVolumeObserver.m +++ b/Class/MPVolumeObserver.m @@ -1,5 +1,4 @@ #import "MPVolumeObserver.h" -@import AVFoundation; @interface MPVolumeObserver() @@ -29,7 +28,7 @@ +(MPVolumeObserver*) sharedInstance; dispatch_once(&onceToken, ^{ instance = [[MPVolumeObserver alloc] init]; }); - + return instance; } @@ -161,7 +160,7 @@ - (void)tackPhoto { if (isVideoStar) { - NSLog(@"tack Photo"); + NSLog(@"take Photo"); if ([self.delegate respondsToSelector:@selector(volumeButtonCameraClick:)]) { [self.delegate volumeButtonCameraClick:self]; } diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.pbxproj b/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.pbxproj old mode 100644 new mode 100755 index 41bbbfd..7f3b15a --- a/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.pbxproj +++ b/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.pbxproj @@ -20,6 +20,8 @@ 819FF5F117D5F0A500E5A227 /* MPVolumeObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 819FF5F017D5F0A500E5A227 /* MPVolumeObserver.m */; }; 819FF5F317D5F0B900E5A227 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 819FF5F217D5F0B900E5A227 /* AudioToolbox.framework */; }; 819FF5F717D5F0DE00E5A227 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 819FF5F617D5F0DE00E5A227 /* MediaPlayer.framework */; }; + D0680E6E1E2DFD2700B8B0EB /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0680E6D1E2DFD2700B8B0EB /* AVFoundation.framework */; }; + D0680E711E2DFD7C00B8B0EB /* PushVC.m in Sources */ = {isa = PBXBuildFile; fileRef = D0680E701E2DFD7C00B8B0EB /* PushVC.m */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -42,6 +44,9 @@ 819FF5F017D5F0A500E5A227 /* MPVolumeObserver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPVolumeObserver.m; sourceTree = ""; }; 819FF5F217D5F0B900E5A227 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 819FF5F617D5F0DE00E5A227 /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; }; + D0680E6D1E2DFD2700B8B0EB /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + D0680E6F1E2DFD7C00B8B0EB /* PushVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PushVC.h; sourceTree = ""; }; + D0680E701E2DFD7C00B8B0EB /* PushVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PushVC.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -49,6 +54,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0680E6E1E2DFD2700B8B0EB /* AVFoundation.framework in Frameworks */, 819FF5F717D5F0DE00E5A227 /* MediaPlayer.framework in Frameworks */, 819FF5F317D5F0B900E5A227 /* AudioToolbox.framework in Frameworks */, 819FF5C817D5F01200E5A227 /* UIKit.framework in Frameworks */, @@ -80,6 +86,7 @@ 819FF5C617D5F01200E5A227 /* Frameworks */ = { isa = PBXGroup; children = ( + D0680E6D1E2DFD2700B8B0EB /* AVFoundation.framework */, 819FF5F617D5F0DE00E5A227 /* MediaPlayer.framework */, 819FF5F217D5F0B900E5A227 /* AudioToolbox.framework */, 819FF5C717D5F01200E5A227 /* UIKit.framework */, @@ -97,6 +104,8 @@ 819FF5D717D5F01200E5A227 /* AppDelegate.m */, 819FF5DF17D5F01200E5A227 /* ViewController.h */, 819FF5E017D5F01200E5A227 /* ViewController.m */, + D0680E6F1E2DFD7C00B8B0EB /* PushVC.h */, + D0680E701E2DFD7C00B8B0EB /* PushVC.m */, 819FF5CE17D5F01200E5A227 /* Supporting Files */, ); path = MPLovumeObserveDemo; @@ -154,6 +163,11 @@ attributes = { LastUpgradeCheck = 0460; ORGANIZATIONNAME = baidu; + TargetAttributes = { + 819FF5C317D5F01200E5A227 = { + DevelopmentTeam = WEFT5XRB8Z; + }; + }; }; buildConfigurationList = 819FF5BF17D5F01200E5A227 /* Build configuration list for PBXProject "MPLovumeObserveDemo" */; compatibilityVersion = "Xcode 3.2"; @@ -194,6 +208,7 @@ 819FF5D417D5F01200E5A227 /* main.m in Sources */, 819FF5D817D5F01200E5A227 /* AppDelegate.m in Sources */, 819FF5E117D5F01200E5A227 /* ViewController.m in Sources */, + D0680E711E2DFD7C00B8B0EB /* PushVC.m in Sources */, 819FF5F117D5F0A500E5A227 /* MPVolumeObserver.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -269,6 +284,8 @@ 819FF5E817D5F01200E5A227 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ENABLE_OBJC_ARC = YES; + DEVELOPMENT_TEAM = WEFT5XRB8Z; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -276,7 +293,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "MPLovumeObserveDemo/MPLovumeObserveDemo-Prefix.pch"; INFOPLIST_FILE = "MPLovumeObserveDemo/MPLovumeObserveDemo-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -285,6 +302,8 @@ 819FF5E917D5F01200E5A227 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ENABLE_OBJC_ARC = YES; + DEVELOPMENT_TEAM = WEFT5XRB8Z; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -292,7 +311,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "MPLovumeObserveDemo/MPLovumeObserveDemo-Prefix.pch"; INFOPLIST_FILE = "MPLovumeObserveDemo/MPLovumeObserveDemo-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -317,6 +336,7 @@ 819FF5E917D5F01200E5A227 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata old mode 100644 new mode 100755 diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.xcworkspace/xcuserdata/tashigaofei.xcuserdatad/WorkspaceSettings.xcsettings b/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.xcworkspace/xcuserdata/tashigaofei.xcuserdatad/WorkspaceSettings.xcsettings old mode 100644 new mode 100755 diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.xcworkspace/xcuserdata/xiujiekeman.xcuserdatad/UserInterfaceState.xcuserstate b/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.xcworkspace/xcuserdata/xiujiekeman.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..79c697a134d351de950d357df39232ec4faeb68b GIT binary patch literal 16724 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 literal 0 HcmV?d00001 diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/tashigaofei.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/tashigaofei.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist old mode 100644 new mode 100755 diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/tashigaofei.xcuserdatad/xcschemes/MPLovumeObserveDemo.xcscheme b/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/tashigaofei.xcuserdatad/xcschemes/MPLovumeObserveDemo.xcscheme old mode 100644 new mode 100755 diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/tashigaofei.xcuserdatad/xcschemes/xcschememanagement.plist b/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/tashigaofei.xcuserdatad/xcschemes/xcschememanagement.plist old mode 100644 new mode 100755 diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/xiujiekeman.xcuserdatad/xcschemes/MPLovumeObserveDemo.xcscheme b/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/xiujiekeman.xcuserdatad/xcschemes/MPLovumeObserveDemo.xcscheme new file mode 100644 index 0000000..247a7c4 --- /dev/null +++ b/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/xiujiekeman.xcuserdatad/xcschemes/MPLovumeObserveDemo.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/xiujiekeman.xcuserdatad/xcschemes/xcschememanagement.plist b/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/xiujiekeman.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..9fb91ce --- /dev/null +++ b/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/xcuserdata/xiujiekeman.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + MPLovumeObserveDemo.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 819FF5C317D5F01200E5A227 + + primary + + + + + diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo/AppDelegate.h b/MPLovumeObserveDemo/MPLovumeObserveDemo/AppDelegate.h old mode 100644 new mode 100755 diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo/AppDelegate.m b/MPLovumeObserveDemo/MPLovumeObserveDemo/AppDelegate.m old mode 100644 new mode 100755 index 58b0998..187140e --- a/MPLovumeObserveDemo/MPLovumeObserveDemo/AppDelegate.m +++ b/MPLovumeObserveDemo/MPLovumeObserveDemo/AppDelegate.m @@ -12,19 +12,14 @@ @implementation AppDelegate -- (void)dealloc -{ - [_window release]; - [_viewController release]; - [super dealloc]; -} - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] ; // Override point for customization after application launch. - self.viewController = [[[ViewController alloc] init] autorelease]; - self.window.rootViewController = self.viewController; + self.viewController = [[ViewController alloc] init] ; + UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:self.viewController]; + self.window.rootViewController = nav; [self.window makeKeyAndVisible]; return YES; } diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo/Default-568h@2x.png b/MPLovumeObserveDemo/MPLovumeObserveDemo/Default-568h@2x.png old mode 100644 new mode 100755 diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo/Default.png b/MPLovumeObserveDemo/MPLovumeObserveDemo/Default.png old mode 100644 new mode 100755 diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo/Default@2x.png b/MPLovumeObserveDemo/MPLovumeObserveDemo/Default@2x.png old mode 100644 new mode 100755 diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo/MPLovumeObserveDemo-Info.plist b/MPLovumeObserveDemo/MPLovumeObserveDemo/MPLovumeObserveDemo-Info.plist old mode 100644 new mode 100755 diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo/MPLovumeObserveDemo-Prefix.pch b/MPLovumeObserveDemo/MPLovumeObserveDemo/MPLovumeObserveDemo-Prefix.pch old mode 100644 new mode 100755 diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo/PushVC.h b/MPLovumeObserveDemo/MPLovumeObserveDemo/PushVC.h new file mode 100644 index 0000000..594f25a --- /dev/null +++ b/MPLovumeObserveDemo/MPLovumeObserveDemo/PushVC.h @@ -0,0 +1,13 @@ +// +// PushVC.h +// MPLovumeObserveDemo +// +// Created by 休杰克曼 on 2017/1/17. +// Copyright © 2017年 baidu. All rights reserved. +// + +#import + +@interface PushVC : UIViewController + +@end diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo/PushVC.m b/MPLovumeObserveDemo/MPLovumeObserveDemo/PushVC.m new file mode 100644 index 0000000..765f612 --- /dev/null +++ b/MPLovumeObserveDemo/MPLovumeObserveDemo/PushVC.m @@ -0,0 +1,38 @@ +// +// PushVC.m +// MPLovumeObserveDemo +// +// Created by 休杰克曼 on 2017/1/17. +// Copyright © 2017年 baidu. All rights reserved. +// + +#import "PushVC.h" + +@interface PushVC () + +@end + +@implementation PushVC + +- (void)viewDidLoad { + [super viewDidLoad]; + self.view.backgroundColor = [UIColor orangeColor]; + // Do any additional setup after loading the view. +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo/ViewController.h b/MPLovumeObserveDemo/MPLovumeObserveDemo/ViewController.h old mode 100644 new mode 100755 diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo/ViewController.m b/MPLovumeObserveDemo/MPLovumeObserveDemo/ViewController.m old mode 100644 new mode 100755 index 634d2cb..d66b2f2 --- a/MPLovumeObserveDemo/MPLovumeObserveDemo/ViewController.m +++ b/MPLovumeObserveDemo/MPLovumeObserveDemo/ViewController.m @@ -8,6 +8,7 @@ #import "ViewController.h" #import "MPVolumeObserver.h" +#import "PushVC.h" @interface ViewController () @@ -21,23 +22,32 @@ - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; - +} + +- (void)viewWillAppear:(BOOL)animated +{ + [super viewWillAppear:animated]; [MPVolumeObserver sharedInstance].delegate = self; - [[MPVolumeObserver sharedInstance] startObserveVolumeChangeEvents]; - + [[MPVolumeObserver sharedInstance]startObserveVolumeChangeEvents]; } -- (void)didReceiveMemoryWarning + +- (void)viewDidDisappear:(BOOL)animated { - [super didReceiveMemoryWarning]; - + [super viewDidDisappear:animated]; + [MPVolumeObserver sharedInstance].delegate = nil; + [[MPVolumeObserver sharedInstance]stopObserveVolumeChangeEvents]; } + + + -(void) volumeButtonCameraClick:(MPVolumeObserver *) button { NSLog(@"take Photo"); - VolumeTwoVC *vc = [[VolumeTwoVC alloc]init]; + PushVC *vc = [[PushVC alloc]init]; [self.navigationController pushViewController:vc animated:YES]; + } @@ -50,8 +60,16 @@ -(void) volumeButtonStarVideoClick:(MPVolumeObserver *) button -(void) volumeButtonEndVideoClick:(MPVolumeObserver *) button { NSLog(@"end Video"); - VolumeTwoVC *vc = [[VolumeTwoVC alloc]init]; + PushVC *vc = [[PushVC alloc]init]; [self.navigationController pushViewController:vc animated:YES]; + +} + + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + } diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo/en.lproj/InfoPlist.strings b/MPLovumeObserveDemo/MPLovumeObserveDemo/en.lproj/InfoPlist.strings old mode 100644 new mode 100755 diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo/main.m b/MPLovumeObserveDemo/MPLovumeObserveDemo/main.m old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 From 5fc26783a55c3aa3c13a5d2b48405d462e66d939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BC=91=E6=9D=B0=E5=85=8B=E6=9B=BC?= Date: Wed, 18 Jan 2017 10:11:15 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserInterfaceState.xcuserstate | Bin 16724 -> 16574 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.xcworkspace/xcuserdata/xiujiekeman.xcuserdatad/UserInterfaceState.xcuserstate b/MPLovumeObserveDemo/MPLovumeObserveDemo.xcodeproj/project.xcworkspace/xcuserdata/xiujiekeman.xcuserdatad/UserInterfaceState.xcuserstate index 79c697a134d351de950d357df39232ec4faeb68b..c68603a262c8eddbaf6478cca17d3c7ac18296c3 100644 GIT binary patch delta 2917 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 delta 2986 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 Bit7LX