2009-07-27 43 views
1

我有以下代碼:kMovieLoadStatePlayable undelcared錯誤(在此函數首先使用)用QuickTime或QTKit框架

(void)loadStateChanged:(NSNotification*)notification 
{ 
    if ([[movie attributeForKey:QTMovieLoadStateAttribute] longValue] >= kMovieLoadStatePlayable) 
    { 
     [[NSNotificationCenter defaultCenter] removeObserver:self]; 

     long movieScale = [[movie attributeForKey:QTMovieTimeScaleAttribute] longValue]; 

     [movie setCurrentTime:QTMakeTime(0, movieScale)]; 

     [movie play]; 
} 

並引發此錯誤:

錯誤: 'kMovieLoadStatePlayable' 未聲明的(第一在這個函數中使用)

我相信kMovieLoadStatePlayable屬於QuickTime框架,我在我的程序中同時具有QTKit和QuickTime框架,但我無法弄清楚它爲什麼在這裏出錯。我知道這是與這些框架有關。

+0

我也找不到kMovieLoadStatePlayable,但我找到了QTMovieLoadStatePlayable。希望它是好的。 – 2012-05-29 17:14:03

回答

2

在您使用此符號的源文件中是否存在#import?

只是將一個框架拖到您的項目中並不會將其標題提供給每個源文件(這會顯着減慢編譯)。您必須明確包含每個源文件使用的每個框架的傘頭。

如果您確信您將在每個源文件中使用框架,請將#import添加到您的前綴頭文件中。

+0

爲了進一步闡明由cdespinosa給出的答案。此符號在QuickTime.framework的Movies.h中定義。要導入此文件,您可以使用以下行: #import 通常位於文件頂部附近。 – 2009-07-28 01:34:29

相關問題