2011-08-19 4 views
2

버튼을 클릭 할 때 내 응용 프로그램에서 "음향 효과"를 재생하고 있으며, AVAudioPlayer 클래스 내에서 델리게이트가 제대로 작동하여 음악 재생이 어려워졌습니다. 가져온 프레임 워크 및 대리자가 있지만 작동하도록 AVAudioSession 공유 인스턴스를 가져올 수 없습니다 ... 나는 뭔가를 놓치고 있지만 사과도 워드 프로세서 내에서 명확한 답변을 찾을 수 없습니다. 여기에이 코드를 사용하려고합니다. 버튼이오디오 중단 처리 AVAudioPlayer

-(IBAction)About 
{ 
    NSString *path = [[NSBundle mainBundle] pathForResource:@"button" ofType:@"caf"]; 
    AVAudioPlayer* theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL]; 
    theAudio.delegate = self; 
    [theAudio play]; 

    AboutViewController *about = [[AboutViewController alloc] init]; 
    [self presentModalViewController:about animated:YES]; 

    NSString *path1 = [[NSBundle mainBundle] pathForResource:@"move" ofType:@"caf"]; 
    AVAudioPlayer* theAudio1 = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path1] error:NULL]; 
    theAudio.delegate = self; 
    [theAudio1 play];  
} 

대표 중 하나에 노력 "주변 소음"나의 소리를 재생하거나 내 소리가 이제 마지막

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

} 

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

} 

-(void)audioPlayerBeginInterruption:(AVAudioPlayer *)player 
{ 

} 

-(void)audioPlayerEndInterruption:(AVAudioPlayer *)player withFlags:(NSUInteger)flags 
{ 
    if (flags) 
    { 
     AVAudioPlayer *audio = [[AVAudioPlayer alloc] init]; 
     [audio setDelegate:self]; 
     [audio play]; 
    } 
} 

을 발생 후 바로 재생을 다시 시작 누르면

#import "AVFoundation/AVAudioPlayer.h 
#import "MediaPlayer/MediaPlayer.h" 

@interface HomeViewController : UIViewController <AVAudioPlayerDelegate, MPMediaPlayback 
> { 

내가 이해하는 위임자는 내 경우에 실제로 사용하는 유일한 대표이며 이후로는 [AVAudioSession SharedInstance]을 사용해야 할 필요가 있기 때문에 내가 가지고있는 것은 작동하지 않을 것이다. 그러나 나는을 얻는 것처럼 보이지 않는다.작동!

-(void)audioPlayerEndInterruption:(AVAudioPlayer *)player withFlags:(NSUInteger)flags 
{ 
    if (flags == AVAudioSessionFlags_ResumePlay) 
    { 
     [player play]; 
    } 
} 

어떤 도움이나 제안이라도 대단히 감사하겠습니다. 나는 기본적으로 단지 어떻게해야하는지 알 필요가있다. 누구라도 내가 가져올 필요가있는 클래스 나 프레임 워크를 알고 있다면,이 일을 얻기 위해 추가해야 할 일은 매우 의무적 일 것이다.

감사

답변

2

This는 AVAudioPlayer를 사용하여 공유 인스턴스 사운드 관리자를 만드는 방법에 대한 좋은 튜토리얼입니다. 나는 그것을 사용하는 것이 좋습니다, 그리고 적어도, 포인터를 얻기 위해 그것을보고. 희망이 도움이됩니다!

+0

답장을 보내 주셔서 감사합니다. 이것은 실제로 도움이 될 것 같습니다! 감사! – FreeAppl3

+0

걱정하지 않아도됩니다. 기꺼이 도와주세요! 대답을 수락하면 사람들이 도움이되었다는 것을 알 수 있습니다. – msgambel

관련 문제