【发布时间】:2014-08-27 22:32:33
【问题描述】:
我正在尝试使用 MPMoviePlayerController 通过 HTTPS 从 URL 播放 mp4 格式的视频,但视频没有播放,并且我在日志中收到错误消息:
_itemFailedToPlayToEnd: {
kind = 1;
new = 2;
old = 0;
}
有什么方法可以在 iOS 上播放这种视频吗?
这是我的代码:
#import "FirstViewController.h"
#import <MediaPlayer/MediaPlayer.h>
@interface FirstViewController ()
@property (nonatomic, strong) MPMoviePlayerController *moviePlayer;
@end
@implementation FirstViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[self playBtnPressed];
}
-(void)playBtnPressed
{
NSURL *url=[[NSURL alloc] initWithString:@"https://....mp4"];
_moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:url];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:_moviePlayer];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDonePressed:) name:MPMoviePlayerDidExitFullscreenNotification object:_moviePlayer];
_moviePlayer.controlStyle=MPMovieControlStyleDefault;
//moviePlayer.shouldAutoplay=NO;
[_moviePlayer play];
[self.view addSubview:_moviePlayer.view];
[_moviePlayer setFullscreen:YES animated:YES];
}
- (void) moviePlayBackDonePressed:(NSNotification*)notification
{
[_moviePlayer stop];
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerDidExitFullscreenNotification object:_moviePlayer];
if ([_moviePlayer respondsToSelector:@selector(setFullscreen:animated:)])
{
[_moviePlayer.view removeFromSuperview];
}
_moviePlayer=nil;
}
- (void) moviePlayBackDidFinish:(NSNotification*)notification
{
[_moviePlayer stop];
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:_moviePlayer];
if ([_moviePlayer respondsToSelector:@selector(setFullscreen:animated:)])
{
[_moviePlayer.view removeFromSuperview];
}
}
@end
【问题讨论】:
-
请向我们展示您设置 MPMoviePlayerController 的代码
-
我刚刚通过添加代码编辑了我的帖子
标签: ios objective-c cocoa-touch ios7 mpmovieplayercontroller