iOS 多個播放器同時播放,雙擊全屏,單擊退出全屏


前言:公司需求如下:點擊一個按鈕播放一個視頻,最多同時播放4個;雙擊某視頻讓其全屏,單擊再恢復原來的樣子。IOS的播放器有兩種,MPMoviePlayerController,AVAudioPlayer。首先我嘗試的是前者,發現並不能讓兩個視頻同時播放,當播放第二個視頻的時候,第一個就自動停止了;后來又找了些資料試了試后者,完美解決了這個問題。

多個播放器同時播放,資料參考自:
 http://ios.jobbole.com/84287/     ,這里介紹的挺詳細的,文章后面還有項目可以下載演示,這里就不多說了。
如果需要播放暫停,參考:http://www.xuebuyuan.com/1918999.html
   雙擊全屏,單擊退出全屏:我使用的是手勢
 

  //雙擊全屏   

    UITapGestureRecognizer *doubleTapGestureRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(doubleTap:)];

    [doubleTapGestureRecognizer setNumberOfTapsRequired:2];   

    [player.view addGestureRecognizer:doubleTapGestureRecognizer];

    

    //單擊退出全屏

    UITapGestureRecognizer *singleTapGestureRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(singleTap:)];

    [singleTapGestureRecognizer setNumberOfTapsRequired:1];  

    [player.view addGestureRecognizer:singleTapGestureRecognizer];

    //沒有檢測到雙擊就調用單擊

    [singleTapGestureRecognizer requireGestureRecognizerToFail:doubleTapGestureRecognizer];

 

 先用全局變量保存播放器的frame,在退出全屏的時候將之前保存的值賦值給播放器就行了。

 

 寫完之后又遇到了一個問題:當退出頁面的時候,盡管把通知什么的都移除了,但是播放器還是會有聲音在播放。

 解決方法如下:

    [self.player pause];

    [self.player.currentItem cancelPendingSeeks];

    [self.player.currentItem.asset cancelLoading];

  在移除通知的方法里面加上如上代碼,問題就結局了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM