Iphone开发 本地视频播放问题
我想利用文件系统来对UIDataPicker(滚轮)进行初始化,滚轮的确显示了内容,但是无法转动,利用Play方法无法播放,按钮按下去就是蓝色卡住不动,我弄不清原因。如果可以利用NSFileManage的功能实现UIDataPicker的初始化请教教我。
说明:1.使用一个初始化完成的数组可以对滚轮初始化并播放文件,我成功了。但是作为实际软件不能通过硬性的初始化名称来完成列表,与实际不符2.如果不能通过NSFileManage来对UIDataPicker初始化,这是为什么?还有什么方法来读取列表?
附上一部分代码:(问题应该是在viewDidLoad中,因为将滚轮用固定数组初始化可播放)
- (void)viewDidLoad {
//
[super viewDidLoad];
NSFileManager *fileManager = [NSFileManager defaultManager];
//在这里获取应用程序Documents文件夹里的文件及文件夹列表
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDir = [documentPaths objectAtIndex:0];
NSLog(@"%@",documentDir);
NSError *error = nil;
NSArray *fileList = [[NSArray alloc] init];
//fileList便是包含有该文件夹下所有文件的文件名及文件夹名的数组
fileList = [fileManager contentsOfDirectoryAtPath:documentDir error:&error];
self.videoColumn = fileList;
[fileList release];
}
- (IBAction)play{
//从列表获取url部分
NSInteger row = [videoPicker selectedRowInComponent:0];
if(selectedVideo != [videoColumn objectAtIndex:row])
selectedVideo = [videoColumn objectAtIndex:row];
NSLog(@"我请求的资源 %@",selectedVideo);
//在这里获取应用程序Documents文件夹里的文件及文件夹列表
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDir = [documentPaths objectAtIndex:0];
NSString *videoFilePath = [documentDir stringByAppendingPathComponent:selectedVideo];
NSLog(@"%@",videoFilePath);
//
NSURL *fileURL = [[[NSURL alloc] initFileURLWithPath: videoFilePath] autorelease];
//通过url播放部分
moviePlayer = [[MPMoviePlayerController alloc]
initWithContentURL:fileURL];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayer];
moviePlayer.controlStyle = MPMovieControlStyleDefault;
moviePlayer.shouldAutoplay = YES;
[self.view addSubview:moviePlayer.view];
[moviePlayer setFullscreen:YES animated:YES];
}