標籤: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