2014-10-16 3 views
0

나는 voip 앱을 가지고 있으며 수신 전화의 경우 사용자가 통화를 수락하거나 거부 할 수있는 별도의보기로 리디렉션합니다.왜 내 음량이 낮습니까?

NSString *ringtoneSoundPath = [[NSBundle mainBundle] pathForResource:@"ringtone" ofType:@"wav"]; 
NSURL *ringtoneSoundUrl = [NSURL fileURLWithPath:ringtoneSoundPath]; 
ringtone = [[AVAudioPlayer alloc] initWithContentsOfURL:ringtoneSoundUrl error:nil]; 
ringtone.numberOfLoops = -1; 

하고 나는 소리가 재생하려는의 ViewController에서 나는이 방법이 있습니다 :

- (void)viewWillAppear:(BOOL)animated { 
    [ringtone play]; 
} 

- (void)viewWillDisappear:(BOOL)animated { 
    [ringtone stop]; 
} 
을 나는이보기에, 그래서 사운드 파일을로드하는 동안 사운드를 재생하려면

이 작동하지만, 통화가 끝나고 두 번째로 전화를하면 소리의 볼륨이 갑자기 낮아집니다. 기기의 볼륨 설정을 확인했지만 여전히 최대 용량입니다. 사운드를 멈추고 다시 재생할 때 음량은 왜 떨어지나요? 반복하지 않으므로 세 번째로 두 번째 시간만큼 낮습니다.

+0

사용 [audioPlayer setVolume : 1.0] 도움 예컨대 :

if ([aSession setCategory:AVAudioSessionCategoryPlayback error:nil]) { [aSession setMode:AVAudioSessionModeDefault error:nil]; [aSession setActive:YES error:nil]; } 

희망을 설정해야합니다; 재생하면서. – ASHISHT

+0

@ASHISHT 그러면 사운드가 전혀 재생되지 않습니다. – Kevin

답변

0

우리는 비슷한 문제가있었습니다. voip 앱을 사용하는 경우 setCategory:AVAudioSession에 사용한다는 의미입니다. 그래서, 당신은 같은 코드가 있습니다

AVAudioSession *aSession = [AVAudioSession sharedInstance]; 
if ([aSession setCategory:AVAudioSessionCategoryPlayAndRecord error:nil]) { 
    [aSession setMode:AVAudioSessionModeVoiceChat error:nil]; 
    [aSession setActive: YES error:nil]; 
} 

을하지만 AVAudioSessionCategoryPlayAndRecord을 사용할 때 볼륨이 낮아지게된다. rington 재생하기 전에

그래서, 당신은이

관련 문제