iPhone:MPMoviePlayerController播放问题

时间:2010-07-16 07:48:56

标签: iphone mpmovieplayercontroller

我正在使用标准的Apple moviePlayer示例代码,并将其自定义为仅播放如下播客:

-(IBAction)playPodcast:(id)sender{
movieURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@", podcastURI]];
if (movieURL)
{
    if ([movieURL scheme])  // sanity check on the URL
    {

        // initialize a new MPMoviePlayerController object with the specified URL, and
        // play the movie
        [self initAndPlayMovie:movieURL];
    }
}   
    }

-(void)initAndPlayMovie:(NSURL *)movieURL1
{
// Initialize a movie player object with the specified URL
MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL1];
if (mp)
{
    // save the movie player object
    self.moviePlayer = mp;
    [mp release];

    // Apply the user specified settings to the movie player object
    [self setMoviePlayerUserSettings];

    // Play the movie!
    [self.moviePlayer play];
}
   }

我在点击tableView单元格按钮时调用“playPodcast”函数。 但应用程序正在崩溃[self.movi​​ePlayer play];它给了我一个错误:

 *** -[PodcastTableViewCell playPodcast]: unrecognized selector sent to instance 0x10c9b90
 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[PodcastTableViewCell playPodcast]: unrecognized selector sent to instance 0x10c9b90'

其中PodcastTableViewCell是我的播客tableviewcell标识符。

有人可以帮忙吗?

提前完成。

1 个答案:

答案 0 :(得分:0)

据我所知,问题在于PodcastTableViewCell。 显然,它尝试在没有必要参数的情况下调用playPodcast。 你现在有两种可能性:

  • 添加第二个不带参数的playPodcast方法
  • 使用您的PodcastTableViewCell更改您的playPodcast通话,如下所示:[probablyAViewcontroller playPodcast:self]

我认为这里真正的问题是使用IBAction方法还是没有。或者,如果您在多个地方(即来自IBActions以及代码中)使用了某些功能,则设计/喜欢/不喜欢放置“实际”代码的位置。

我通常做的是,将非UI相关代码放在非IBAction方法中。

希望我能帮上忙。