1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
//
// ViewController.h
// Video Tuneup
//
// Created by Brian Jordan on 3/27/12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
#import <AssetsLibrary/AssetsLibrary.h>
#import "SimpleEditor.h"
#import <MediaPlayer/MediaPlayer.h>
@class PlayerView;
// UIImagePickerControllerDelegate requires that we conform to UINavigationControllerDelegate
@interface ViewController : UIViewController <MPMediaPickerControllerDelegate> {
AVURLAsset *asset;
AVURLAsset *songAsset;
// Related to scrubbing
float mRestoreAfterScrubbingRate;
BOOL seekToZeroBeforePlay;
id mTimeObserver;
}
@property (nonatomic, retain) IBOutlet UIView *defaultHelpView;
@property (nonatomic, retain) AVPlayer *player;
@property (nonatomic, retain) SimpleEditor *editor;
@property (retain) AVPlayerItem *playerItem;
@property (nonatomic, retain) IBOutlet PlayerView *playerView;
@property (nonatomic, retain) IBOutlet UIButton *playButton;
@property (nonatomic, retain) IBOutlet UIButton *pauseButton;
@property (nonatomic, retain) IBOutlet UIButton *rewindButton;
@property (nonatomic, retain) IBOutlet UIButton *exportButton;
@property (nonatomic, retain) IBOutlet UIToolbar *videoNavBar;
@property (nonatomic, retain) IBOutlet UILabel *exportStatus;
@property (nonatomic, retain) IBOutlet UISlider* mScrubber;
@property (nonatomic, retain) IBOutlet UIButton *mediaLibraryButton;
@property (nonatomic, retain) UIPopoverController *mediaLibraryPopover;
@property (nonatomic, retain) IBOutlet UILabel *internetRequestLabel;
- (void)toggleHelpView;
- (void)hideCameraRollText;
- (IBAction)loadDefaultAssetFromFile:sender;
- (IBAction)loadAssetFromFile:(NSURL *)fileURL;
- (IBAction)loadAudioFromFile:(NSURL *)songFileURL;
- (IBAction)loadDefaultAudioFromFile:sender;
- (IBAction)play:sender;
- (IBAction)pause:sender;
- (IBAction)rewind:sender;
- (IBAction)exportToCameraRoll:sender;
- (void)syncUI;
- (void)syncScrubber;
- (void)beginScrubbing:(id)sender;
- (void)scrub:(id)sender;
- (void)endScrubbing:(id)sender;
- (BOOL)isScrubbing;
- (void)initScrubberTimer;
- (CMTime)playerItemDuration;
- (void)exportDidFinish:(AVAssetExportSession*)session;
- (IBAction)showMediaLibrary:(id)sender;
- (IBAction)sendMixRequest:(id)sender;
@end
|