iOS 視頻開發

來源:互聯網
上載者:User

標籤:des   blog   code   width   strong   string   int   art   檔案   html   set   

MediaPlayer framework

播放電影檔案:

    iOS sdk中可以使用MPMoviePlayerController來播放電影檔案。但是在iOS裝置上播放電影檔案有嚴格的格式要求,只能播放下面兩個格式的電影檔案。

? H.264 (Baseline Profile Level 3.0)
? MPEG-4 Part 2 video (Simple Profile)

幸運的是你可以先使用iTunes將檔案轉換成上面兩個格式。
MPMoviePlayerController還可以播放互連網上的視頻檔案。但是建議你先將視頻檔案下載到本地,然後播放。如果你不這樣做,iOS可能會拒絕播放很大的視頻檔案。

這個類定義在MediaPlayer framework中。在你的應用程式中,先添加這個引用,然後修改MediaPlayerViewController.h檔案。

#import <</span>MediaPlayer/MediaPlayer.h>
@interface MediaPlayerViewController : UIViewController<</span>AVAudioPlayerDelegate>
{
MPMoviePlayerController *moviePlayer;

下面我們使用這個類來播放一個.m4v 格式的視頻檔案。與前面的類似,需要一個url路徑。

視頻開發" alt="複製代碼" src="http://common.cnblogs.com/images/copycode.gif">
- (id)init
{
self = [super initWithNibName:@"MediaPlayerViewController" bundle:nil];
if (self) {

NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"Layers" 
ofType:@"m4v"];
if (moviePath) {
NSURL *movieURL = [NSURL fileURLWithPath:moviePath];
moviePlayer = [[MPMoviePlayerController alloc] 
initWithContentURL:movieURL];
}
視頻開發" alt="複製代碼" src="http://common.cnblogs.com/images/copycode.gif">

MPMoviePlayerController有一個視圖來展示播放器控制項,我們在viewDidLoad方法中,將這個播放器展示出來。

視頻開發" alt="複製代碼" src="http://common.cnblogs.com/images/copycode.gif">
- (void)viewDidLoad
{
[[self view] addSubview:[moviePlayer view]];
float halfHeight = [[self view] bounds].size.height / 2.0;
float width = [[self view] bounds].size.width;
[[moviePlayer view] setFrame:CGRectMake(0, halfHeight, width, halfHeight)];
}
視頻開發" alt="複製代碼" src="http://common.cnblogs.com/images/copycode.gif">

還有一個MPMoviePlayerViewController類,用於全屏播放視頻檔案,用法和MPMoviePlayerController一樣。

MPMoviePlayerViewController *playerViewController =
[[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];
[viewController presentMoviePlayerViewControllerAnimated:playerViewController];

   我們在聽音樂的時候,可以用iphone做其他的事情,這個時候需要播放器在後台也能運行,我們只需要在應用程式中做個簡單的設定就行了。

1、在Info property list中加一個 Required background modes節點,它是一個數組,將第一項設定成設定App plays audio。

2、在播放mp3的代碼中加入下面代碼:

視頻開發" alt="複製代碼" src="http://common.cnblogs.com/images/copycode.gif">
if (musicPath) {
NSURL *musicURL = [NSURL fileURLWithPath:musicPath];
[[AVAudioSession sharedInstance]
setCategory:AVAudioSessionCategoryPlayback error:nil];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:musicURL
error:nil];
[audioPlayer setDelegate:self];
}
視頻開發" alt="複製代碼" src="http://common.cnblogs.com/images/copycode.gif">

在後台啟動並執行播放音樂的功能在模擬器中看不出來,只有在真機上看效果。

原文來自http://blog.sina.com.cn/s/blog_74e9d98d0101ar8e.html感謝博主的分享

相關串連:http://blog.sina.com.cn/s/blog_6f1a34260100tlvx.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.