2011-08-04 1 views
0

보기에 10 개의 소리가 있습니다. 그리고 한명의 위압자동일한 음향 효과 장치를 사용하여 여러 소리를 사용하여 볼륨 크기 조정

이것은 1 개의 소리를 나타내는 코드입니다.

- (IBAction)oneSound:(id)sender; { 
    SystemSoundID soundID; 
    NSString *path = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"mp3"]; 
    AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path],&soundID); 
    AudioServicesPlaySystemSound (soundID); 
    if (oneAudio) [oneAudio release]; 
    NSError *error = nil; 
    oneAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:&error]; 
    if (error) 
     NSLog(@"%@",[error localizedDescription]); 
    oneAudio.delegate = self; 
    [oneAudio play];  


} 

- (void)viewDidLoad { 
    [volumeSlider addTarget:self action:@selector(updateVolume) forControlEvents:UIControlEventValueChanged]; 
    [super viewDidLoad]; 
} 



-(void)updateVolume { 
    [oneAudio, twoAudio, threeAudio, fourAudio, fiveAudio, sixAudio, sevenAudio, eightAudio, nineAudio, tenAudio, elevenAudio, twelveAudio, thirteenAudio, fourteenAudio, fifthteenAudio, sixteenAudio setVolume:volumeSlider.value]; 
} 

이것은 내가 시도한 현재 방법이며 작동하지 않습니다. 도움을 주셔서 감사합니다

+0

무엇이 작동하지 않습니까? 그것은 추락합니까? 전혀 소리가 나지 않니? 하나의 사운드 볼륨에만 영향을 줄 수 있습니까? – Colin

답변

0

updateVolume에서는 여러 인스턴스를 그렇게 나열하여 호출 할 수 없습니다. 당신이해야 할 일은이 모든 오디오 플레이어를 하나의 배열에 넣고 각각의 배열과 배열의 각 객체에있는 setVolume을 반복하는 것입니다.

+0

어떻게하면됩니까? 대단히 고마워요 – laaaa

+0

NSArray에 대해 들어 봤어? 자, NSMutableArray도 있습니다. NSMutableArray가 생성 된 후에 객체를 추가 할 수있게 해줍니다. 따라서 오디오 플레이어를이 배열에 연결하십시오. 그런 다음 for 루프를 사용하여 모든 볼륨을 동일한 레벨로 변경하십시오. –

+0

예, 코드 또는 기타 예제가 있습니까? – laaaa