iPhone: проблема воспроизведения MPMoviePlayerController - PullRequest
0 голосов
/ 16 июля 2010

Я использую стандартный пример кода 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];
}
   }

Я вызываю функцию playPodcast по нажатию кнопки ячейки таблицы. Но приложение падает при [self.moviePlayer 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 голосов
/ 16 июля 2010

Насколько я вижу на данный момент, проблема заключается в вас PodcastTableViewCell. По-видимому, он пытается вызвать playPodcast без необходимого параметра. теперь у вас есть две возможности:

  • добавить второй метод playPodcast без параметра
  • измените свой вызов playPodcast с помощью вашего PodcastTableViewCell следующим образом: [probablyAViewcontroller playPodcast:self]

Я думаю, что реальная проблема здесь заключается в том, использовать методы IBAction или нет. Или, если у вас есть функциональные возможности, которые вы используете в нескольких местах (например, из IBActions, а также из своего кода), вопрос дизайна / нравится / не нравится, где размещать «настоящий» код.

Обычно я помещаю код, не связанный с пользовательским интерфейсом, в методы, не относящиеся к IBAction.

надеюсь, я смогу немного помочь.

...