2016-07-26 12 views
0

我從服務器獲取視頻數據播放使用視頻數據的視頻。我正在使用signalR框架。首先我從iPhone照片庫捕捉視頻。然後接下來我轉換編碼格式(base64EncodedStringwithOptions)的方法。接下來我將視頻加密數據發送到signalR服務器。接下來我正在接收視頻數據並使用AVPlayer解密並播放視頻數據。但我的問題視頻不播放。但是我收到了來自signalR的視頻數據。解密我使用這種方法。 (NSDataBase64DecodingIgnoreUnknownCharacters如何在iOS的

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

NSString *documentDirectory = [paths objectAtIndex:0]; 

NSString *videoFile=[documentDirectory stringByAppendingPathComponent:post.mediaName]; 

NSURL *url; 

if ([[NSFileManager defaultManager] fileExistsAtPath:videoFile]) { 

url=[NSURL URLWithString:videoFile]; 

} 

NSLog(@"Video URL is:%@",url); 

AVPlayer *player = [AVPlayer playerWithURL:url]; 

cell.videoPlayerController.player = player; 

[player play]; 

我有視頻網址是這樣的:

Video URL is:/Users/Library/Developer/CoreSimulator/Devices/EEC96DE7-6D0F-4D80-82B8-3C24E4F6B3EF/data/Containers/Data/Applicatication video0006.mp4 
+0

我們e MPMoviePlayerViewController –

+0

@AnjaliBhimani感謝您的回覆..我正在使用MPMoviePlayerViewController ..但它不工作。 – satya

+0

你正在得到什麼錯誤?你可以請在這裏添加你的代碼 –

回答

1

您可以使用MPMoviePlayerController從URL播放視頻」,但要確保你必須爲像財產申報,

@property MPMoviePlayerController *videoController; 

不創建的MPMoviePlayerController本地對象。

你可以使用它像,

self.videoController = [[MPMoviePlayerController alloc] init]; 

    [self.videoController setContentURL:tempView.videoURL]; //here your url 
    [self.videoController.view setFrame:CGRectMake (0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
    [self.view addSubview:self.videoController.view]; 

    // close or cancel button if you want to put 

    UIButton *closeButton = [[UIButton alloc]initWithFrame:CGRectMake(self.view.frame.size.width-60, 20, 60, 30)]; 

    [closeButton addTarget:self action:@selector(cancel:) forControlEvents:UIControlEventTouchUpInside]; 

    [closeButton setTitle:@"Cancel" forState:UIControlStateNormal]; 

    [self.videoController.view addSubview:closeButton]; 

    // add observer to notify when playing will be completed if you want to put 

    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(videoPlayBackDidFinish:) 
               name:MPMoviePlayerPlaybackDidFinishNotification 
               object:self.videoController]; 

    [self.videoController play]; 

更新:代替

您必須使用文件URL一樣,

NSURL *url = [NSURL fileURLWithPath:videoFile]; 

[NSURL URLWithString:videoFile]; 
+0

同樣的問題視頻不應播放。只顯示黑屏意味着視頻播放器。但視頻不應播放。但我有視頻數據.. – satya

+0

檢查我的更新回答 – Lion

+0

我正在改變這樣的。但仍然不應該播放視頻 – satya