2012-12-15 81 views
0

我遇到了從QTMovie和Quicktime電影視圖播放視頻的問題。這裏是我的代碼: 「AppController.h」QTMovie無法播放任何視頻

#import <Foundation/Foundation.h> 
#import <Cocoa/Cocoa.h> 
#import <QTKit/QTKit.h> 
@interface AppController : NSObject 
{ 

    IBOutlet NSTextField *label; 
} 
@property (strong,nonatomic) IBOutlet QTMovieView *movie; 
-(IBAction)play:(id)sender; 
@end 

「AppController.m」

#import "AppController.h" 
#import <QTKit/QTKit.h> 
@implementation AppController 
@synthesize movie; 
- (void)play:(id)sender 

{ 

    [label setStringValue:@"play"]; 

    NSURL *url3=[NSURL URLWithString:@"rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp"];  

    NSError* error = nil; 

    NSString *[email protected]"/Users/shenashley/Movies/cookie.mpg"; 

    QTMovie* qtm = [QTMovie movieWithURL: url2 error:&error]; 

    if(qtm != nil) 

    { 

     [movie setMovie:qtm]; 

     [movie play:self]; 

    } 

    else 

    { 

     NSLog(@"Error loading movie: %@", [error localizedDescription]); 

    } 

} 
@end 

我已經嘗試過玩耍本地文件和URL。兩者都失敗。用我玩的本地mpg文件,我可以聽到聲音,但屏幕是黑色的。並與網址(我已經嘗試了許多不同的網址)。從不工作。它總是黑屏,沒有任何顯示。

當我點擊播放。它顯示警告: 「**警告: - [NSImage compositeToPoint:fromRect:operation:]在MacOSX 10.8及更高版本中不推薦使用,請改用 - [NSImage drawAtPoint:fromRect:operation:fraction:]。

是sdk10.8中的一個bug嗎?

有沒有其他的框架可以播放rtsp或m3u8流,我可以替換QTKit?

我在這裏上傳我的項目:https://www.dropbox.com/s/1904isjkkhxecj2/NewOSX.zip

希望有人能幫助我!我已經在這裏停留了一段時間。真的需要幫助!

謝謝!

回答

0

檢查影片狀態:

long state = [[movie attributeForKey:QTMovieLoadStateAttribute] longValue]; 
if(state != QTMovieLoadStateComplete) 
    return; 

不要在意警告。