2013-07-05 3 views
-1

Я хочу знать и изменять UIImageView, когда AVAudioPlayer перестает играть. Я работаю над этим, но я не мог понять это. Там в любом случае?. Мой код нижеКак вызвать метод, когда AVAudioPlayer перестает играть

if ([[NSFileManager defaultManager] fileExistsAtPath:ttsOutWav]) { 
    audioPath1 = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL URLWithString:ttsOutWav] error:&error]; 

    if (!error) { 
     [audioPath1 play]; 

     NSLog(@"should be played"); 

    } 
    else { 
     NSLog(@"Error in creating audio player:%@",[error description]); 
    } 
} 
else{NSLog(@"such file doesnt exist");} 
+0

Что можно сказать о 'UIImageView' вы хотите изменить? – Imirak

+0

Я изменю его, если я узнаю, когда AVAudioPlayer закончит играть, я просто сказал, что люди понимают, почему мне нужно знать метод обратного вызова AVAudioPlayer. –

ответ

1

Используйте этот метод делегата так этот метод перезвонит,

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag 
{ 

} 

и следующий делегат, когда есть ошибка в decodeing

- (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError *)error 
{ 


} 

, как вы можете также получить пример на AVAudio игрока на этом сайте http://iosdeveloperzone.com/2012/10/01/tutorial-playing-audio-with-avaudioplayer/

+1

Я уверен, что код не будет компилироваться. – trojanfoe

+1

@trojanfoe не могли бы вы рассказать мне, в чем моя ошибка? – Ayush

+1

@trojanfoe Итак, что мне нужно редактировать – Ayush

3

Я никогда не делал это сам, но я надеюсь, что вам нужно установить AVAudioPlayerDelegate класс делегата и реализовать следующий метод:

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player 
         successfully:(BOOL)flag 
Смежные вопросы