Tag: mpmovieplayercontroller

MPMoviePlayerController全屏幕方向问题

我的应用程序只支持景观。 我已经添加了一个MPMoviePlayerController到我的视图控制器的视图。 当我按下全屏button时,它工作正常,只能在iOS 5以前的版本中使用横向旋转。但是,在iOS 5.0+中,它也支持纵向(仅当进入全屏模式时)。 我怎样才能防止在iOS 5.0及以上的肖像支持?

保持MPMoviePlayerViewController在后台播放

我使用MPMoviePlayerViewController在iPhone4(iOS5.1),新iPad(iOS5.1),iPad(iOS4.2)上的iOS应用程序中播放video。 播放video时,我按两次Home键,多任务docker显示和播放器暂停。 我试图在appDelegate applicationWillResignActive调用玩家的play方法,但没有奏效。 有谁知道如何避免玩家暂停? 另一个问题,如何在遥控面板上显示video的标题? (滑动multitaskdocker到最左边)。 谢谢。

MPMoviePlayerController播放在video结束之前终止

我无法理解这个类并使其正常工作,下面是我使用它的一段代码: MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:_videoURL]; UIImage *videoThumbnail = [moviePlayer thumbnailImageAtTime:0 timeOption:MPMovieTimeOptionNearestKeyFrame]; [lastImageView setImage:videoThumbnail]; [moviePlayer setControlStyle:MPMovieControlStyleNone]; [moviePlayer setShouldAutoplay:YES]; [moviePlayer prepareToPlay]; [moviePlayer.view setFrame:lastImageView.frame]; moviePlayer.view.transform = CGAffineTransformMakeRotation((90*M_PI)/180); [self.view addSubview:moviePlayer.view]; [moviePlayer play]; videoThumbnail行仍然存在的唯一原因是因为我没有得到video播放,直到我只是试图看看它是否会从那里得到的形象,然后突然开始工作…sorting。 现在它播放2-3秒,然后终止而不发送MPMoviePlayerPlaybackDidFinishNotification或MPMoviePlayerPlaybackStateDidChangeNotification我search了一下,找不到任何有用的提示,有人可以告诉我什么是错的或我忘了

iOS无video会话播放video

我正尝试在我的应用程序中使用MPMoviePlayerController或AVPlayer播放短片。 问题是(因为我的video没有任何声音),我不想干扰其他应用程序在后台播放的声音。 我试图玩AVAudioSession : AVAudioSession *audioSession = [AVAudioSession sharedInstance]; [audioSession setCategory:AVAudioSessionCategoryAmbient withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil]; [audioSession setActive:YES error:nil]; 但我没有运气。 只要video开始播放,背景音乐就会停止。 我什至试图设置audio会话不活动: [[AVAudioSession sharedInstance] setActive:NO withOptions: AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil]; 但在这种情况下,声音停止半秒钟,然后恢复,video播放器停止播放。 有什么办法可以实现我想要做的? 谢谢。

检查video是否有audio

如果video文件(从服务器stream媒体)有audio,我必须做出决定。 如果它有audio,那么我必须停止已经播放audio文件和开始video,否则播放video已经运行的audio。 我在播放video之前设法暂停audio,但是如何在video中检查audio? 我正在使用AVAudioPlayer播放audio和MPMoviePlayerViewController来播放video。 我在谷歌上search了很多,但没有成功。 任何帮助将不胜感激。

为什么我的时间UILabels从暂停状态恢复播放时跳过2秒?

我有一个奇怪的问题使用MPMoviePlayerController 。 我有一个currentTimeLabel表示当前的播放时间, endTimeLabel表示剩余的播放时间。 使用NSTimer每1秒就会触发更新标签的function。 这与video播放时UISlider增加的UISlider一致。 但是,问题是,随着video播放,我点击暂停button,当我再次点击播放button时,我的currentTimeLabel和endTimeLabel从上次停止的地方跳过2秒。 以下是提供的代码: override func viewDidLoad() { super.viewDidLoad() print("viewDidLoad") NSNotificationCenter.defaultCenter().addObserver( self, selector: "moviePlayerPlaybackStateDidChangeNotification:", name: MPMoviePlayerPlaybackStateDidChangeNotification, object: nil) NSNotificationCenter.defaultCenter().addObserver( self, selector: "moviePlayerLoadStateDidChangeNotification:", name: MPMoviePlayerLoadStateDidChangeNotification, object: nil) setUpVideoPlayer() isPlaybackSliderTouched = false isPauseButtonTouched = false } override func viewDidAppear(animated: Bool) { super.viewDidAppear(true) print("viewDidAppear") timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "updatePlaybackSlider", userInfo: nil, repeats: […]

MPMoviewPlayer计算video播放期间的当前时间

我想根据播放多lessvideo计算当前时间,我很困惑使用durationWatched的属性,任何人都可以帮我,我该怎么办? 或如何获得YouTubevideo的当前时间?

Http live streaming:强制MPMoviePlayerController在http请求中打包头文件

我使用Http Live Streaming将video从服务器传输到iPhone。 我需要在手机发送给服务器的http数据包中设置某些标头。 对于普通的数据包,下面的代码就足够了: NSMutableURLRequest* request = [[[NSMutableURLRequest alloc] initWithURL:url] autorelease]; [request setValue:VALUE forHTTPHeaderField:@"Field You Want To Set"]; 不幸的是,我没有findMPMoviePlayerController类似的API。 换句话说,我该如何强制MPMoviePlayerController在它用来与服务器通信的http数据包中设置某些标头?

MPMoviePlayerViewController不为IOS 8.4播放video

我的video播放IOS 8.3和更早版本。 但最近IOS 8.4video播放器更新后停止工作。 video不会播放,并立即进入MPMoviePlaybackComplete:方法。 Here is my code : self.player = [[MPMoviePlayerViewController alloc] initWithContentURL:fileURL]; [self.player.moviePlayer setFullscreen:YES animated:YES]; if(subtitlesPathStr){ [self.player.moviePlayer openSRTFileAtPath:subtitlesPathStr completion:^(BOOL finished) { // Activate subtitles [self.player.moviePlayer showSubtitles]; [self.navigationController presentMoviePlayerViewControllerAnimated:self.player]; } failure:^(NSError *error) { NSLog(@"Error: %@", error.description); } ]; }else [self.navigationController presentMoviePlayerViewControllerAnimated:self.player]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MPMoviePlayerLoadStateDidChange:) name:MPMoviePlayerLoadStateDidChangeNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MPMoviePlayerDidEnterFullscreenNotification:) name:MPMoviePlayerDidEnterFullscreenNotification object:nil]; […]

MPMoviePlayerController – 检测和不同上一页/下一页button

我已经通过下面的代码实现了检测prev / nextbutton的点击,但是还没有find区分两次点击的方法。 在@implementation MyMovieController:MPMoviePlayerController [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieChangeCallBack:) name:MPMoviePlayerPlaybackStateDidChangeNotification object:nil]; 并定义– (void)movieChangeCallBack:(NSNotification *)aNotification – (void)movieChangeCallBack:(NSNotification*) aNotification { if (self.playbackState == MPMoviePlaybackStateStopped) { //Touched 'Previous' or 'Next' button. } } 有没有办法判断“上一个”或“下一个”button是否被点击? 谢谢 :)