您的位置:首页 > 产品设计 > 产品经理

MPMoviePlayerViewController实现横屏播放

2012-05-21 16:00 423 查看
phonegap 视频插件:https://github.com/eiffelqiu/phonegap-videoplayer-plugin
此插件默认只能设置横屏(NO)/坚屏(YES),要弄成自动适应:(将相关内容注释掉)

实现播放视频的时候自动横屏必须重写MPMoviePlayerViewController,具体代码如下:
1.重写MPMoviePlayerViewController



Java代码

//
// DirectionMPMoviePlayerViewController.h
// Direction
//
// Created by apple on 12-4-10.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import <MediaPlayer/MediaPlayer.h>

@interface DirectionMPMoviePlayerViewController : MPMoviePlayerViewController

@end

Java代码

//
// DirectionMPMoviePlayerViewController.m
// Direction
//
// Created by apple on 12-4-10.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import "DirectionMPMoviePlayerViewController.h"

@implementation DirectionMPMoviePlayerViewController

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIDeviceOrientationIsLandscape(interfaceOrientation);
}

@end

2.初始化播放器,播放

Java代码

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
[self customTitleView];
NSString *mystr = @"http://114.112.50.220:8080/res/20120331/2FFCE63A-C997-4D8C-4C4F-4127D78A958E.m3u8";
NSURL *myURL = [[NSURL alloc] initWithString:mystr];
[self playMovieAtURL:myURL];
}

-(void)playMovieAtURL:(NSURL*)theURL
{
playerView = [[DirectionMPMoviePlayerViewController alloc] initWithContentURL:theURL];
playerView.view.frame = self.view.frame;//全屏播放(全屏播放不可缺)
playerView.moviePlayer.scalingMode = MPMovieScalingModeAspectFill;//全屏播放(全屏播放不可缺)
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(myMovieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:playerView];
[playerView.moviePlayer play];
[self presentMoviePlayerViewControllerAnimated:playerView];
}

// When the movie is done, release the controller.
-(void)myMovieFinishedCallback:(NSNotification*)aNotification
{
DirectionMPMoviePlayerViewController* theMovie = [aNotification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:theMovie];

[theMovie release];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: