代码改变世界

AVAudioPlayer ,MPMoviePlayerController,简单使用

2014-07-10 19:59  long桃子  阅读(467)  评论(0编辑  收藏  举报

1、音频播放,

需要引入系统库文件AVFoundation.framework,并加上头文件:

#import <AVFoundation/AVFoundation.h>

- (void)readPoemVoiceAtIndex:(NSInteger )index

{

    NSString *poemVoice = [_poemVoiceArray objectAtIndex:index];

    //    NSLog(@"%@",read);

    NSString *path = [[NSBundle mainBundle]pathForResource:poemVoice ofType:@"wav"];

    if (!path) {  return;    }//AVAudioPlayer的初始化任务可以放到一个一步线程中,这样有益于用户体验。

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        NSURL *url = [NSURL fileURLWithPath:path];

        NSError *error;

        self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];

        [_player prepareToPlay];

        dispatch_async(dispatch_get_main_queue(), ^{

            self.player.volume =0.5;// _poemSet.volume;

           [_player play];

        });

    });

}

1、视频播放,

进行视频操作需要引入库MediaPlayer.framework,并加入头文件:

#import <MediaPlayer/MediaPlayer.h>

-(void)moveStep1

{

#pragma mark - make appStar animation

    /*添加视屏播放开启界面,使用到通知中心的方法,用于监听视频播放完毕*/

    //    NSString *url=[[NSBundle mainBundle]pathForResource:@"Comp 9" ofType:@"mov"];

    NSString *url=[[NSBundle mainBundle]pathForResource:@"mov_bbb" ofType:@"mp4"];

    _player=[[MPMoviePlayerController alloc]initWithContentURL:[NSURL fileURLWithPath:url]];

    _player.view.transform = CGAffineTransformMakeRotation(1.57);

    [[NSNotificationCenter defaultCenter]

     addObserver:self

     selector:@selector(beginView) name:MPMoviePlayerPlaybackDidFinishNotification object:_player];

    _player.scalingMode=MPMovieScalingModeAspectFill;  

  _player.controlStyle=MPMovieControlStyleNone;

  _player.view.frame=CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen]   bounds].size.height);

  [_player setFullscreen:YES animated:YES];

  [self.window addSubview:_player.view];

  [_player play];

}

-(void)beginView

{    [[NSNotificationCenter defaultCenter]removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:_player];

    [_player.view removeFromSuperview];  

//    self.window.rootViewController = xueIntbc;

}