2016-07-11 27 views
1

因此,我嘗試使用Google的VR SDK在我的應用中播放視頻,但我遇到了一些問題。儘管有文檔,但看起來我們不能再設置視頻的類型,所以我得到的視頻顯示如下:enter image description here谷歌VR視圖 - 視頻的設置類型

我不能像所有我應該能夠移動它。此外全屏模式的參數似乎沒有工作。有誰知道這可以解決嗎?這是我使用的代碼:

#import <UIKit/UIKit.h> 
#import "NewViewController.h" 
#import "GVRVideoView.h" 


@interface NewViewController() 
@property (nonatomic) IBOutlet GVRVideoView *viewView; 



@end 

@implementation NewViewController { 
    BOOL _isPaused; 
} 

- (instancetype)init { 
    self = [super initWithNibName:nil bundle:nil]; 
    return self; 
} 


- (void)viewDidLoad { 
    [super viewDidLoad]; 

    _viewView.enableFullscreenButton = YES; 
    _viewView.enableCardboardButton = YES; 

    _isPaused = true; 

    // Load the sample 360 video, which is of type stereo-over-under. 
    NSString *videoPath = [[NSBundle mainBundle] pathForResource:@"congo" ofType:@"mp4"]; 
    [_viewView loadFromUrl:[[NSURL alloc] initFileURLWithPath:videoPath]]; 


} 



#pragma mark - GVRVideoViewDelegate 

- (void)widgetViewDidTap:(GVRWidgetView *)widgetView { 
    if (_isPaused) { 
     [_viewView resume]; 
    } else { 
     [_viewView pause]; 
    } 
    _isPaused = !_isPaused; 
} 

- (void)widgetView:(GVRWidgetView *)widgetView didLoadContent:(id)content { 
    NSLog(@"Finished loading video"); 
} 

- (void)widgetView:(GVRWidgetView *)widgetView 
didFailToLoadContent:(id)content 
    withErrorMessage:(NSString *)errorMessage { 
    NSLog(@"Failed to load video: %@", errorMessage); 
} 

- (void)videoView:(GVRVideoView*)videoView didUpdatePosition:(NSTimeInterval)position { 
    // Loop the video when it reaches the end. 
    if (position == videoView.duration) { 
     [videoView seekTo:0]; 
     [videoView resume]; 
    } 
} 

@end 

回答

0

連我都面臨着同樣的問題 因此,我改變

options.inputType = Options.TYPE_STEREO_OVER_UNDER; 

Options options = new Options(); 
options.inputType = Options.TYPE_MONO; 

所以視頻worki ng現在好了

0

方法loadFromUrl:而不傳遞默認爲kGVRVideoTypeMono一個類型。

的方法簽名應該回答你的問題:

/** 
* Load a local or remote video from a url and start playing. 
* 
* The video is assumed to be of type |kGVRVideoTypeMono|. 
*/ 
- (void)loadFromUrl:(NSURL*)videoUrl; 

/** 
* Load a local or remote video from a url and start playing. 
* 
* The video type is set by |videoType|. 
*/ 
- (void)loadFromUrl:(NSURL*)videoUrl ofType:(GVRVideoType)videoType; 
2
GVRVideoView have two type : 
1) kGVRVideoTypeMono 
2) kGVRVideoTypeStereoOverUnder 

/** Enum for video image types. */ 
typedef NS_ENUM(int, GVRVideoType) { 
    // Each video frame is a monocular equirectangular panorama. 
    // Each frame image is expected to cover 360 degrees along its horizontal axis. 
    kGVRVideoTypeMono = 1, 

    // Each video frame contains two vertically-stacked equirectangular panoramas. The top part of 
    // the frame contains pixels for the left eye, while the bottom part of the frame contains 
    // pixels for the right eye. 
    kGVRVideoTypeStereoOverUnder, 
}; 


If below method used : The video is assumed to be of type |kGVRVideoTypeMono|. 
- (void)loadFromUrl:(NSURL*)videoUrl; 

If below method used then -The video type is set by |ofType:kGVRVideoTypeMono /kGVRVideoTypeStereoOverUnder| 

- (void)loadFromUrl:(NSURL*)videoUrl ofType:(GVRVideoType)videoType; 

e.g : [_videoView loadFromUrl:_videoURL ofType:kGVRVideoTypeMono];