小编rob*_*ino的帖子

完成播放后,MPMoviePlayerController不会自动关闭电影(ios 6)

我可能没有把我的头衔措辞得很好,也许更正确的说我的NSNotification并没有在完​​成比赛后放弃我的电影观点.我发现其他人有这个问题,但没有解决方案,似乎它可能是iOS 6的问题,这就是我正在运行的.

视频完成播放后,您需要按"完成"才能解除,但我希望它能自动关闭,因为我将使用MPMovieControlStyleNone一旦我将其整理出来.这是我的代码,未使用的部分被删除:`

#import "MovieViewController.h"

@interface MovieViewController ()

@end

@implementation MovieViewController

@synthesize moviePlayer = _moviePlayer;

- (IBAction)playMovie:(id)sender
{
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                         pathForResource:@"TestMovie" ofType:@"mov"]];
    _moviePlayer =
    [[MPMoviePlayerController alloc]
     initWithContentURL:url];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(moviePlayBackDidFinish:)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification
                                               object:_moviePlayer];

    _moviePlayer.controlStyle = MPMovieControlStyleDefault;
    _moviePlayer.shouldAutoplay = YES;
    [self.view addSubview:_moviePlayer.view];
    [_moviePlayer setFullscreen:YES animated:NO];
}

- (void) moviePlayBackDidFinish:(NSNotification*)notification {

    MPMoviePlayerController *player = [notification object];

    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:MPMoviePlayerPlaybackDidFinishNotification
                                                  object:player];

    if ([player
         respondsToSelector:@selector(setFullscreen:animated:)])
    {
        [player.view removeFromSuperview];
    }
}

@end`
Run Code Online (Sandbox Code Playgroud)

video movie mpmovieplayercontroller nsnotification ios6

10
推荐指数
1
解决办法
9232
查看次数

Xcode如何自动收缩UITextView?

我有一个文本视图框,我希望该矩形保持相同的大小,而文本内部自动收缩以适应框.我需要这个的原因是因为文本是从plist中提取的,并且字符串都是不同的长度.标签具有自动收缩功能,这正是我想要的,但我无法通过代码找到一种方法来获得文本视图来做同样的事情.请帮忙!

xcode text textview uitextview

5
推荐指数
1
解决办法
3314
查看次数

AVAudioPlayer - 你必须创建一个属性才能工作吗?(Xcode中)

这是我现在使用的代码,它不起作用(当我按下调用此方法的按钮时没有任何反应).以前,我有一个audioPlayer的属性,它工作(下面的所有audioPlayers显然是self.audioPlayer).问题是,当我试图播放两次声音时,它会结束第一个声音播放.

这不好,因为我正在制作一个音板,并希望声音能够重叠.我以为我可以让audioPlayer成为局部变量而不是属性,一切都会好的,但现在声音根本不起作用,我无法弄清楚原因.在我为AVAudioPlayer找到的所有教程中,都创建了一个属性,但没有人解释原因.如果这不起作用,我有什么选择来制作可以重叠的声音?

- (void)loadSound:(NSString *)sound ofType:(NSString *)type withDelegate:(BOOL)delegate {
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                     pathForResource:sound
                                     ofType:type]];

AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
if (delegate) audioPlayer.delegate = self;
[audioPlayer prepareToPlay];

[audioPlayer play];
}
Run Code Online (Sandbox Code Playgroud)

audio xcode objective-c avaudioplayer ios

2
推荐指数
2
解决办法
3704
查看次数