Tag: mpmovieplayercontroller

在播放之前将video暂停

我正在使用MVMoviePlayer在应用程序中播放video。 现在,点击播放button后,屏幕出现黑屏,video开始播放。 但是,从用户端的angular度来看,黑屏是一个令人头痛的问题。 所以,我想从暂停状态开始video。 为了做到这一点,我想在播放之前把播放器暂停。 有没有办法做到这一点???

如何停止在MoviePlaybackDidFinish MPMoviePlayerViewController的自动closures?

通过presentMoviePlayerViewControllerAnimated:模态方式呈现的MPMoviePlayerViewController presentMoviePlayerViewControllerAnimated:在内容完成播放时自动解散。 我试图禁用这个,因为我想以后播放其他内容。 但是,即使我使用[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:playerVC.moviePlayer];注册到NSNotificationCenter [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:playerVC.moviePlayer]; 并设置了一些其他的内容,它仍然驳回。 我怎样才能阻止MPMoviePlayerViewController自动解散? 更新: 作为一个澄清,这个问题只是关于消除自动解雇,而不是处理残疾人“完成”button。 所选答案反映。 这是devise的,因为我们假设开发人员添加他们自己的解雇MPMoviePlayerViewController的手段。 不过, @ bickster的回答也是处理“完成”button。

无法从mainBundle播放MP4video文件

所以我试图播放一个简单的介绍animationvideo文件,我已经拖到我的XCode项目,因此应该能够从我的mainBundle播放,对不对? 有了这个代码: NSURL *urlString = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"introvideo" ofType:@"mp4"]]; MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:urlString]; [player play]; 我得到这个错误信息: *由于未捕获的exception“NSInvalidArgumentException”,终止应用程序,原因:'* – [NSURL initFileURLWithPath:]:nilstring参数' 任何帮助将是伟大的!

如何在iOS上用MPMoviePlayerController或AVPlayer播放没有文件扩展名的电影文件?

我想在iPad上用iOS 4.3播放电影。 当文件名具有文件扩展名时,我已成功使用MPMoviePlayerController和AVPlayer从远程URL加载文件。 但是,当我使用不返回文件名的CDN(只是一个不可猜测的随机名)时,MPMoviePlayerController或AVPlayer似乎都无法应付。 有没有办法告诉任何一个玩家,它确实是一个xtypes的电影,它应该继续玩呢? MPMoviePlayerController将从其更改的状态通知中返回以下错误: { MPMoviePlayerPlaybackDidFinishReasonUserInfoKey = 1; error = "Error Domain=MediaPlayerErrorDomain Code=-12847 \"This movie format is not supported.\" UserInfo=0x5b60030 {NSLocalizedDescription=This movie format is not supported.}"; } 我知道这个文件是一个有效的m4v文件,因为当我重命名它一切都很好。

使用MPMovieController或AVFoundation可以使用NSURLProtocol的子类播放video?

我目前正试图播放一个具有在自定义NSURLProtocol子类中定义的自定义scheme的URL。 最初我使用MPMoviePlayerController试图完成这个工作,但是在遇到问题并检查堆栈溢出后,我发现MPMoviePlayerController不能按预期处理NSURLProtocol子类。 如何使用自定义NSURLProtocol来播放电影? 因此,我决定看看AVFoundation框架,但是,似乎这似乎并不奏效。 我只想知道这是可能的,还是我想穿过墙壁? 使用AVFoundation,我使用的方法如下所示。 可能值得一提的是,这对于在互联网上托pipe的video使用标准URL时有效,但不适用于自定义NSURLProtocol。 // this doesn't work //AVPlayer *player = [[AVPlayer alloc] initWithURL:[NSURL urlWithString:@"custom URL scheme"]]; // this works AVPlayer *player = [[AVPlayer alloc] initWithURL:[NSURL urlWithString:@"some url to video on remote server"]]; AVPlayerLayer *layer = [AVAVPlayerLayer playerLayerWithPlayer:player]; // configure the layer [self.view.layer addSublayer:layer]; [player play]; 为了从定义的NSURLProtocol子类中播放,是否有不同的东西需要完成?

MPMoviePlayerController全屏旋转,而父视图控制器仅支持纵向

这个问题只是我的问题的一部分。 我正在为我现有的应用程序实现iOS6旋转和定向支持。 所以我有一个ViewController,它包含一个embedded在ViewController视图中的MPMoviePlayerController(我的应用程序需要它)。 用户可以播放video并在embedded式视图中查看,或使用默认播放器控件点击全屏button,播放器进入全屏模式。 现在我已经限制视图控制器只支持使用iOS6提供的新的旋转API的纵向方向。 // New Autorotation support. – (BOOL)shouldAutorotate; { return NO; } – (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortrait; } 这工作得很好。 ViewController只支持肖像和用户在embedded式视图中播放电影。 现在问题来了,当用户进入全屏模式。 在全屏模式下,当我旋转模拟器/设备时,电影保持旋转。 当我旋转设备而在全屏幕模式下使用shouldAutorotate和supportedInterfaceOrientations断点播放电影时,它仍然在这两个方法分别返回NO和UIInterfaceOrientationMaskPortrait ,但仍然电影正在旋转… 为什么发生这种情况? ….这是我的问题的一部分…第二部分是我想要电影进入横向模式,当用户转到全屏模式。 我希望电影播放器​​locking在横向模式,直到用户按下“完成”button。 请帮忙 ….

自定义视图上的AirPlaybutton

4.3终于:)我现在正在search如何添加空气播放button到自定义视图。 我有加载电影的MPMoviePlayer。 我禁用了标准控件,并添加了自定义播放,暂停,停止,音量button的覆盖视图。 如果有人知道如何添加button,这将是空气播放,请分享知识? 我找不到要发送的通知,听什么… 🙁

MPNowPlayingInfoCenter defaultCenter不会更新或检索信息

我正在努力更新MPNowPlayingInfoCenter并有一些麻烦。 我已经尝试了很多,以至于我不知所措。 以下是我的代码: self.audioPlayer.allowsAirPlay = NO; Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter"); if (playingInfoCenter) { NSMutableDictionary *songInfo = [[NSMutableDictionary alloc] init]; MPMediaItemArtwork *albumArt = [[MPMediaItemArtwork alloc] initWithImage:[UIImage imageNamed:@"series_placeholder"]]; [songInfo setObject:thePodcast.title forKey:MPMediaItemPropertyTitle]; [songInfo setObject:thePodcast.author forKey:MPMediaItemPropertyArtist]; [songInfo setObject:@"NCC" forKey:MPMediaItemPropertyAlbumTitle]; [songInfo setObject:albumArt forKey:MPMediaItemPropertyArtwork]; [[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo]; } 这不行,我也试过了: [[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:nil]; 试图让它从iPod应用程序(或任何可能有信息)中删除现有的信息。 另外,为了查看是否可以找出问题,我尝试检索当前的应用程序启动信息: NSDictionary *info = [[MPNowPlayingInfoCenter defaultCenter] nowPlayingInfo]; NSString […]

MPMoviePlayerController的视图不能识别触摸

这是我的代码: _mediaPlayer = [[MPMoviePlayerController alloc] init]; _mediaPlayer.controlStyle = MPMovieControlStyleNone; _mediaPlayer.shouldAutoplay = NO; [_mediaPlayer.view setFrame: CGRectMake(5, 5, 600,400)]; [playerHolder addSubview: _mediaPlayer.view]; // [self prepareScreenContentToPlay]; // UITapGestureRecognizer *singleFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleRollTap:)]; singleFingerTap.numberOfTapsRequired = 1; [_mediaPlayer.view addGestureRecognizer:singleFingerTap]; [singleFingerTap release]; 和手势识别器的动作方法: -(void)handleRollTap:(UITapGestureRecognizer*)sender{ NSLog(@"%@", @"touch"); } MPMoviePlayerController工作正常。 另外我想处理MPMoviePlayerController视图上的触摸,但handleRollTap从不调用。 为什么MPMoviePlayerController的视图不适用于UITapGestureRecognizer? 好。 如果singleFingerTap.numberOfTapsRequired = 2; 那么所有的工作也很好。 但没有一个单一的水龙头..

正确显示和解除iOS 3.2中的全屏MPMoviePlayerController(iPad)

我在iPad应用程序中显示全屏电影时遇到了很多麻烦,然后允许用户使用播放器控件上的“完成”button或“全屏”button将其解除。 最初我使用MPMoviePlayerViewController进行电影演示,但是我没有收到来自MPMoviePlayerController对象的进入/退出全屏通知,所以我自己改变了。 我可以让电影全屏显示(尽pipe转换非常复杂),但是当按下“完成”或“全屏”button时,播放器不会执行任何操作。 我已经发布了我的代码如下: – (void)startPlayingMovieWithURLString:(NSString *)movieURLString { // I get all of these callbacks **EXCEPT** the "willExitFullScreen:" callback. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willEnterFullScreen:) name:MPMoviePlayerWillEnterFullscreenNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willExitFullScreen:) name:MPMoviePlayerWillExitFullscreenNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didFinishPlayback:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil]; [self.moviePlayerController setContentURL:someExistingURL]; // "self" is a UIViewController subclass, and is presented as a "fullscreen" modal view controller from […]