需要帮助MPMoviePlayerController初始化

时间:2011-06-14 15:17:43

标签: iphone objective-c mpmovieplayercontroller

我有一个应用程序,允许用户使用下钻表视图模型从媒体项列表移动到特定项。

Main View

一旦用户进入详细视图,就会出现另一个表视图,允许用户选择特定的媒体项。

Detail View

我在创建模式媒体播放器以播放.mp4项目时遇到问题。下面的代码是我到目前为止的代码。

if (indexPath.section == SectionHeader && indexPath.row == SectionHeaderEnclosure) {  
    if (item.enclosures) {  
        for (NSDictionary *dict in item.enclosures){ 

            NSString *url = [dict objectForKey:@"url"];  
            NSLog(@" url is : %@",url); 

            //EXPERIMENTAL
            MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];  

            // Register to receive a notification when the movie has finished playing.  
            [[NSNotificationCenter defaultCenter] addObserver:self  selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];  

            if ([moviePlayer respondsToSelector:@selector(setFullscreen:animated:)]) {  
                // Use the 3.2 style API  
                moviePlayer.controlStyle = MPMovieControlStyleDefault;  
                moviePlayer.shouldAutoplay = YES;  
                [self.view addSubview:moviePlayer.view];  
                [moviePlayer setFullscreen:YES animated:YES];  
            } else {  
                // Use the 2.0 style API  
                moviePlayer.movieControlMode = MPMovieControlModeHidden;  
                [moviePlayer play];  
            }           
        }  
    }  
}

我需要这条线的帮助:     MPMoviePlayerController * moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];

它给了我一个NSInvaild参数例外。我需要帮助创建视频播放器并随后从视图中删除。

1 个答案:

答案 0 :(得分:2)

看起来您将网址存储为普通NSString,而玩家需要NSURL。怎么样?

MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] 
    initWithContentURL:[NSURL URLWithString:url]];