我希望能够让用户MPMoviePlayerConntroller
通过点击我的单元格来选择视频来播放视频,uitableview
所以我有这个代码来列出每个单元格中的文件:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MainCell"];
if (cell == nil) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MainCell"];
}
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:nil];
cell.textLabel.text = [filePathsArray[indexPath.row] lastPathComponent];
return cell;
}
此代码成功运行,但现在我需要检查用户选择的内容,因此我有此代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSURL * movieURL = [filePathsArray objectAtIndex:indexPath.row];
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL: movieURL];
[[player view] setFrame: [self.view bounds]];
[self.view addSubview: [player view]];
[player play];
}
但是这段代码有一个问题,该行NSURL * movieURL = [filePathsArray objectAtIndex:indexPath.row];
不断使模拟器崩溃。
我可能很愚蠢,但我不知道如何解决这个问题。
编辑
问题是filePathsArray
它只返回视频文件的名称和扩展名,例如它只会testvideo.mp4
在我应该获取该文件的完整路径时显示。有人知道如何解决这个问题吗?
提前致谢...