2013-10-04 1 views
0

Я пытаюсь использовать приведенный ниже код для воспроизведения mp3-файла. Кажется, он работает нормально, но звук не поступает с телефона. Том поднят, файл найден (если я изменил запрошенный файл на имя, которое не существует, я получаю сообщение об ошибке), и ошибок не обнаружено (даже в «playerError»). Единственное, что я вижу, это может быть проблема, возможно, игрок, освобождающий игрока до того, как закончит игру, но я не уверен, как это исправить. Любые предложения относительно того, что может быть проблемой и как ее исправить? Спасибо много!iOS - mp3-файл не воспроизводится, нет ошибки?

... 

if([responseString isEqual: @"Stop"]){ 
    [self playStop]; 
} 

... 

- (void) playStop{ 
    NSString *soundFilePath = 
    [[NSBundle mainBundle] pathForResource: @"stop" 
            ofType: @"mp3"]; 

    NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath]; 

    NSError *playerError; 

    AVAudioPlayer *newPlayer = 
    [[AVAudioPlayer alloc] initWithContentsOfURL: fileURL 
              error: &playerError]; 
    [newPlayer play]; 
} 

ответ

1

Если вы сделаете ваш «AVAudioPlayer» переменная экземпляра или свойство (вместо локальной переменной внутри функции), так что она палочки вокруг вместо того, чтобы быть немедленно освобождены от ARC, когда «playStop» заканчивается , вам, скорее всего, повезет намного лучше.

+0

Итак, вы думаете, что это, вероятно, проблема, которую я предложил тогда? – golmschenk

+0

Да, я вполне уверен, что это происходит с тобой. –