2014-02-21 28 views
0

尋求用xcode實現以下邏輯:
1)下載文件===對我來說OK,並且正在執行一個異步操作。
2)之後,我想運行它與電影播放器​​:
3)我試過的示例代碼如下所示。它不會等待下載完成。任何人都可以提出一個替代方法來對這些代碼進行這些修改嗎?我不想等待使用定時器。下載一個文件,並在ios中使用視頻播放器

DowloadFilesManager * mydw =[[DowloadFilesManager alloc] init]; 
[mydw downloadURL:@"http://localhost/videos/video3x.mov" destPath:anObj.uRL]; 
while([mydw downLoadStatus]) 
{ 
    NSLog(@"Downloading finished); 
    [videoPlayer1 setContentURL:[NSURL URLWithString:@"/Users/varunisac/Library/Application Support/iPhone Simulator/6.1/Applications/851B4382-AF7E-4653-B28F-8F0707AC5D45/Documents/SalesAppFolder/video3x.mov"]]; 
    [videoPlayer1 prepareToPlay]; 
    [videoPlayer1 play]; 
} 
+0

只是嘗試直接播放流MPMoviePlayer –

+0

謝謝阿尼什快速回復,但我想播放存儲脫機文件。! –

+1

你可以通過下載電影.. 我會在代碼中回答.. –

回答

0

如何下載文件?你在用NSURLDownload嗎?您必須在某處(可能位於您的某個視圖控制器中)實施NSURLDownloadDelegate,並等待調用方法downloadDidFinish:。在該方法中,您運行上面的代碼以開始播放。

0

使用dispatch_sync方法下載視頻文件。

dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{ 
    DowloadFilesManager * mydw =[[DowloadFilesManager alloc] init]; 
    [mydw downloadURL:@"http://localhost/videos/video3x.mov" destPath:anObj.uRL]; 
}); 
while([mydw downLoadStatus]) 
{ 
    NSLog(@"Downloading finished); 
    [videoPlayer1 setContentURL:[NSURL URLWithString:@"/Users/varunisac/Library/Application Support/iPhone Simulator/6.1/Applications/851B4382-AF7E-4653-B28F-8F0707AC5D45/Documents/SalesAppFolder/video3x.mov"]]; 
    [videoPlayer1 prepareToPlay]; 
    [videoPlayer1 play]; 
} 
相關問題