2014-09-04 173 views
1

我正在開發一個需要在應用程序中播放教程視頻的mac應用程序。當用戶按下應用按鈕應該發揮的視頻 這裏是對的Xcode 4.3代碼在OSX中播放視頻

@synthesize movieView; 
-(IBAction)playVideo:(id)sender { 
NSString *videoPath = [[NSBundle mainBundle] pathForResource:"video name" ofType:@"mp4"; 
NSURL *videoURL = [NSURL fileURLWithPath: videoPath]; 
NSError *error = nil; 

NSDictionary *attrib = [NSDictionary dictionaryWithObjectsAndKeys: 
         [NSNumber numberWithBool:YES], 
         QTMovieOpenForPlaybackAttribute, 
         videoURL, QTMovieURLAttribute, 
         [NSNumber numberWithBool:YES], 
         QTMovieOpenAsyncRequiredAttribute, nil]; 
QTMovie *newMovie = [[QTMovie alloc] initWithAttributes: attrib error: &error]; 
[movieView setMovie:newMovie]; 
[movieView play:newMovie]; 

} 

我使用的Xcode 5.1 OSX 10.8

回答

5

蘋果開始(在Xcode 5.1不兼容)從QuickTime API(包括QTKit)到從OS X 10.7開始的AVFoundation。關於該轉換有一個detailed technical note

在現代Mac應用程序中播放視頻的最簡單方法是通過AVKit(自10.9開始可用)。
爲了得到顯示與您的應用程序捆綁視頻的基本看法,你必須:

  1. 添加AVKit & AVFoundation到項目中的部分「鏈接的框架和庫」
  2. 拖動AVPlayerView到窗口在Interface Builder
  3. 連接的插座,播放器視圖在控制器中的一個
  4. 實例化從您的包加載視頻資源的AVPlayer

這是加載您的資產代碼:

NSURL* videoURL = [[NSBundle mainBundle] URLForResource:@"video name" withExtension:@"mp4"]; 
self.playerView.player = [AVPlayer playerWithURL:videoURL]; 
+0

感謝會看看它是否工作 – 2014-09-05 00:31:20

+0

是它與OSX 10.8 Xcode的5一樣的嗎? – 2014-09-05 01:47:33

+0

如何在窗口加載時自動播放視頻? – 2014-10-01 05:35:17