Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ios中播放视频播放器_Ios_Objective C - Fatal编程技术网

如何在ios中播放视频播放器

如何在ios中播放视频播放器,ios,objective-c,Ios,Objective C,我希望能够单击tableview项目并播放视频。因此,我为视频播放器编写了一些代码。我使用MPMediaplayer框架。我使用json解析器。使用json解析器从Web服务器检索数据。我的问题是,当用户单击UITableView单元格时,视频播放器会全屏打开,它只会说“正在加载…”,而视频不会加载,调试器中也不会报告任何错误。请帮助我任何人。提前感谢 -(void)viewDidLoad { urlsArray=[NSMutableArray alloc]init]; } -(voi

我希望能够单击tableview项目并播放视频。因此,我为视频播放器编写了一些代码。我使用MPMediaplayer框架。我使用json解析器。使用json解析器从Web服务器检索数据。我的问题是,当用户单击UITableView单元格时,视频播放器会全屏打开,它只会说“正在加载…”,而视频不会加载,调试器中也不会报告任何错误。请帮助我任何人。提前感谢

-(void)viewDidLoad
{
    urlsArray=[NSMutableArray alloc]init];
}

-(void)loadData
{
    url=[NSURL URLWithString:@"urls”];
    NSMutableURLRequest *request=[[NSMutableURLRequest alloc]initWithURL:url];
    [[NSURLConnection alloc]initWithRequest:request delegate:self];
    [UIApplication sharedApplication].networkActivityIndicatorVisible=YES;
}

-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    [UIApplication sharedApplication].networkActivityIndicatorVisible=NO;
    NSError *jsonError = nil;
    id jsonObject = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&jsonError];
    if ([jsonObject isKindOfClass:[NSArray class]])      
    {
    }
    else if ([jsonObject isKindOfClass:[NSDictionary class]])
    {
        NSDictionary *jsonDictionary = (NSDictionary *)jsonObject;
        NSArray *array=[[NSArray alloc]init];
        array=[jsonDictionary objectForKey:@"video-urls"];        
        dataDictionary=[array objectAtIndex:0];
        NSLog(@"%@",dataDictionary);    
    }
    [urlsArray addObject:[dataDictionary objectForKey:@“Key1”]]; 
    [urlsArray addObject:[dataDictionary objectForKey:@“Key2”]]; 
    [urlsArray addObject:[dataDictionary objectForKey:@“Key3”]];
    [urlsArray addObject:[dataDictionary objectForKey:@“Key4”]];
    [urlsArray addObject:[dataDictionary objectForKey:@“Key6”]];       
    NSLog(@"%@",urlsArray); 
} 

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    selectedIndex=indexPath.row;
    NSLog(@"%@ %d",urlsArray,selectedIndex);
    NSString *currentUrlsArr=[urlsArray objectAtIndex:indexPath.row];
    NSURL *urlString=[NSURL URLWithString:currentUrlsArr];
    moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:urlString];
    [self.view addSubview:moviePlayer.view];
    moviePlayer.fullscreen = YES;
    [moviePlayer play];
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

不设置电影播放器视图的帧。作为苹果公司:

问题就在这里

moviePlayer=[[MPMoviePlayerController alloc]initWithContentURL:urlString]

在此之后,您错过了调用此方法

[moviePlayer prepareToPlay];

检查您是否正在获取当前URLSAR或not@user3419311确保您是在iOS设备上检查它,而不是在simulatoris urlString上创建的?兄弟我还是我遇到了同样的问题兄弟我得到了json响应兄弟您可以更正,直到获得作为json的currentUrlsArr值,但是创建MPMoviePlayer时您需要通过有效的NSUrl,交叉检查NSUrl创建的组织未。。
[moviePlayer prepareToPlay];