你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS中 MPMoviePlayer 實現視頻音頻播放 作者:韓俊強

iOS中 MPMoviePlayer 實現視頻音頻播放 作者:韓俊強

編輯:IOS開發綜合

ios播放視頻文件一般使用 MPMoviePlayerViewController 和 MPMoviePlayerController。前者是一個view,後者是個Controller。區別就是 MPMoviePlayerViewController裡面包含了一個MPMoviePlayerController

 

注意:MPMoviePlayerViewController 必須 presentMoviePlayerViewControllerAnimated方式添加,否則Done按鈕是不會響應通知MPMoviePlayerPlaybackDidFinishNotification事件的;

 

首先要包含 #import 頭文件和MediaPlayer.framework。

 

 

MPMovieControlModeDefault 顯示播放 / 暫停、音量和時間控制

MPMovieControlModeVolumeOnly 只顯示音量控制

MPMovieControlModeHidden 沒有控制器

 

 

 

你可以使用下列寬高比值:

MPMovieScallingModeNone 不做任何縮放

MPMovieScallingModeAspectFit 適應屏幕大小,保持寬高比

MPMovieScallingModeAspectFill 適應屏幕大小,保持寬高比,可裁剪

MPMovieScallingModeFill 充滿屏幕,不保持寬高比

 

 

//通知

MPMoviePlayerContentPreloadDidFinishNotification 當電影播放器結束對內容的預加載後發出。因為內容可以在僅加載了一部分的情況下播放,所以這個通知可能在已經播放後才發出。

 

MPMoviePlayerScallingModeDidChangedNotification 當用戶改變了電影的縮放模式後發出。用戶可以點觸縮放圖標,在全屏播放和窗口播放之間切換。

 

MPMoviePlayerPlaybackDidFinishNotification 當電影播放完畢或者用戶按下了 Done 按鈕後發出

===============================================================================

需要引進的框架:MediaPlayer.framework

第一步:引進框架設置屬性

 

#import RootViewController.h
#import 


@interface RootViewController ()

@property (nonatomic, strong) MPMoviePlayerController *moviePlayer;

@end

@implementation RootViewController

調用:

 

 

- (void)viewDidLoad {
    [super viewDidLoad];
    
    
    // 5.調用播放器
    
    //播放網絡視頻
    NSString *urlString = @http://video.szzhangchu.com/qiaokeliruanxinbudingA.mp4;
    //播放本地視圖,找到文件的路徑
    
//    NSString *urlStr = [[NSBundle mainBundle] pathForResource:@優酷網-唐豆豆微信搖一搖慘被騙.mp4 ofType:nil];
    
    [self createMPPlayerController:urlString];
    
}

第二步:創建播放器

 

 

- (void)createMPPlayerController:(NSString *)string
{
   // 1.初始化播放器
    
    //准備網址
//     NSURL *urlString = [NSURL fileURLWithPath:fileNamePath];
     NSURL *urlString = [NSURL URLWithString:string];
    
    //初始化播放器
   self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:urlString];
   
    //准備播放
//    [_moviePlayer prepareToPlay];
    //設置moviePlayer的frame
    _moviePlayer.view.frame = self.view.frame;
    //添加到父視圖
    [self.view addSubview:_moviePlayer.view];
    
    
    // 2.配置屬性

    //是否自動播放,默認是NO
    _moviePlayer.shouldAutoplay = YES;
    //設置播放器的樣式
    [_moviePlayer setControlStyle:(MPMovieControlStyleFullscreen)];
    //開始播放
    [_moviePlayer play];
    
    
    // 3.注冊通知
    //注冊通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinshed:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
    
    
}

第三步:實現通知方法

 

 

// 4.實現通知中的方法
- (void)movieFinshed:(NSNotification *)sender
{
    //取出通知中心的moviePlayer
    MPMoviePlayerController *movie = [sender object];
    
    //移除觀察者
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
    //將movie移出父視圖
    [movie.view removeFromSuperview];
    
}

最終效果:

 

\

 

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved