2013-04-23 133 views
1

我是Xcode的新手,所以我一直試圖按照教程,但沒有遇到任何解釋我想要實現的內容。我只想在打開應用程序時自動播放視頻。我在音頻播放方面有點工作,但我看不到任何視頻。我錯過了什麼嗎?我在我的輸出窗口得到這個警告:iOS:在應用程序啓動時播放視頻

警告:試圖提出MPMoviePlayerViewController:0x831d7a0上的ViewController:0x9d10540誰的觀點是不是在窗口層次!

在我ViewController.h

#import <UIKit/UIKit.h> 
#import <MediaPlayer/MediaPlayer.h> 

@interface ViewController : UIViewController 

@end 

ViewController.m

#import "ViewController.h" 

@interface ViewController() 

@end 

@implementation ViewController 


- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSURL *url =[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Placeholder" ofType:@"mp4"]]; 
    MPMoviePlayerViewController *playercontroller = [[MPMoviePlayerViewController alloc] initWithContentURL:url]; 
    [self presentMoviePlayerViewControllerAnimated:playercontroller]; 
    playercontroller.moviePlayer.movieSourceType = MPMovieSourceTypeFile; 
    [playercontroller.moviePlayer play]; 
    playercontroller = nil; 

} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

@end 
+1

把你所有的代碼'viewDidLoad'到'viewDidAppear'。 – Till 2013-04-23 20:03:22

+0

我嘗試過,但它只是給我一個沒有音頻的空白屏幕。 – downtomike 2013-04-23 20:15:01

+0

至少你沒有得到任何錯誤。所以現在檢查viewDidAppear代碼是否被實際調用(添加一個'NSLog'或一個斷點)。 – Till 2013-04-23 20:29:52

回答

1

而不是

[playercontroller.moviePlayer play]; 

[playercontroller play]; 

便箋: 另請檢查您的命名約定。在Objective-C中,變量名「should」在變量中的每個新單詞上都有大寫字母。例如。而不是playercontroller使用playerController

+0

我試過但沒有運氣。它告訴我'MPMoviePlayerViewController'可能不會響應'play'。我忘了提及我在原始文章中收到的警告,因此我編輯了它以包含它。 – downtomike 2013-04-23 19:47:52

+0

@Filip它不會像他使用MPMoviePlayerViewController一樣。 – Till 2013-04-23 20:31:54

0

我知道你的狀態。

這是來自Xcode的警告。

所以,你只是改變代碼。

這樣,

[playercontroller performSelector:@selector(player)]; 
相關問題