CocoaPods trunk is moving to be read-only. Read more on the blog, there are 18 months to go.
TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | Apache 2 |
ReleasedLast Release | Sep 2017 |
Maintained by Asha.
It is a lite library to render 360 degree panorama video for iOS.
pod 'MD360Player4iOS', '~> 1.0.0'
1.0.0
0.3.0
0.2.0
0.1.0
- (void)viewDidLoad {
[super viewDidLoad];
// Create a AVPlayerItem
AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithURL:self.mURL];
[self.player setPlayerItem:playerItem];
[self.player play];
/////////////////////////////////////////////////////// MDVRLibrary
MDVRConfiguration* config = [MDVRLibrary createConfig];
[config asVideo:playerItem];
[config setContainer:self view:self.view];
// optional
[config displayMode:MDModeDisplayNormal];
[config interactiveMode:MDModeInteractiveMotion];
[config pinchEnabled:true];
[config setDirectorFactory:self];
self.vrLibrary = [config build];
/////////////////////////////////////////////////////// MDVRLibrary
}
typedef NS_ENUM(NSInteger, MDModeInteractive) {
MDModeInteractiveTouch,
MDModeInteractiveMotion,
MDModeInteractiveMotionWithTouch,
};
typedef NS_ENUM(NSInteger, MDModeDisplay) {
MDModeDisplayNormal,
MDModeDisplayGlass,
};
/////////////////////////////////////////////////////// MDVRLibrary
MDVRConfiguration* config = [MDVRLibrary createConfig];
...
[config pinchEnabled:true];
self.vrLibrary = [config build];
/////////////////////////////////////////////////////// MDVRLibrary
@interface VideoPlayerViewController ()<MD360DirectorFactory>
@end
@implementation VideoPlayerViewController
...
- (void) initPlayer{
...
/////////////////////////////////////////////////////// MDVRLibrary
MDVRConfiguration* config = [MDVRLibrary createConfig];
...
[config setDirectorFactory:self]; // pass in the custom factory
...
self.vrLibrary = [config build];
/////////////////////////////////////////////////////// MDVRLibrary
}
// implement the MD360DirectorFactory protocol here.
- (MD360Director*) createDirector:(int) index{
MD360Director* director = [[MD360Director alloc]init];
switch (index) {
case 1:
[director setEyeX:-2.0f];
[director setLookX:-2.0f];
break;
default:
break;
}
return director;
}
...
@end
@interface BitmapPlayerViewController ()<IMDImageProvider>
@end
@implementation BitmapPlayerViewController
...
- (void) initPlayer{
...
/////////////////////////////////////////////////////// MDVRLibrary
MDVRConfiguration* config = [MDVRLibrary createConfig];
...
[config asImage:self];
...
self.vrLibrary = [config build];
/////////////////////////////////////////////////////// MDVRLibrary
}
// implement the IMDImageProvider protocol here.
-(void) onProvideImage:(id<TextureCallback>)callback{
//
SDWebImageDownloader *downloader = [SDWebImageDownloader sharedDownloader];
[downloader downloadImageWithURL:self.mURL options:0
progress:^(NSInteger receivedSize, NSInteger expectedSize) {
NSLog(@"progress:%ld/%ld",receivedSize,expectedSize);
// progression tracking code
}
completed:^(UIImage *image, NSData *data, NSError *error, BOOL finished) {
if ( image && finished) {
// do something with image
if ([callback respondsToSelector:@selector(texture:)]) {
[callback texture:image];
}
}
}];
}
@end
See BitmapPlayerViewController.m
Copyright 2016 Asha
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.