贵港吾悦商业管理有限公司多角色网上演练(吾悦广场)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

74 lines
2.1 KiB

//
// VideoPicker.m
// VideoPicker
//
// Created by tanyamax on 19.09.17.
// Copyright © 2017 MaxBotvinev. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <MobileCoreServices/MobileCoreServices.h>
#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>
@implementation VideoPicker : NSObject
void * callback_ptr;
static const char * cVideoPath;
+ (VideoPicker*)instance
{
static VideoPicker *instance = nil;
if( !instance )
instance = [[VideoPicker alloc] init];
return instance;
}
- (void)init:(void(*)(const char*))_callback; {
callback_ptr = (void*)_callback;
[self pickVideo];
}
- (void)pickVideo {
UIImagePickerController * picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.mediaTypes = [[NSArray alloc] initWithObjects:(NSString *)kUTTypeMovie, nil];
UIWindow *window=[UIApplication sharedApplication].keyWindow;
UIViewController *vc = [window rootViewController];
[vc presentModalViewController:picker animated:YES];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSString * videoPath = [[info objectForKey:UIImagePickerControllerMediaURL] path];
cVideoPath = strdup([videoPath UTF8String]);
printf("Video path c string: %s%s", cVideoPath, "\n");
[picker dismissViewControllerAnimated:YES completion:Nil];
((void(*)(const char*))callback_ptr)(cVideoPath);
}
- (void) play:(const char*)path {
NSString * nsPath = [NSString stringWithUTF8String:path];
NSURL * playURL = [NSURL URLWithString:nsPath];
NSLog(@"Play URL: %@", playURL);
AVPlayer *player = [AVPlayer playerWithURL:playURL];
AVPlayerViewController *playerViewController = [AVPlayerViewController new];
playerViewController.player = player;
UIWindow *window=[UIApplication sharedApplication].keyWindow;
UIViewController *vc = [window rootViewController];
[vc presentViewController:playerViewController animated:YES completion:nil];
}
@end