开发者

Adjusting the size the volume, using the same uislider but for multiple sounds

I have 10 sounds in a view. And one uislider

This is the code for 1 of the sounds.

- (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:UIControlEventValueC开发者_如何学Changed];
    [super viewDidLoad];
}



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

This is the current method I've tried and it doesn't work. Thanks for the help


In updateVolume you can't call on multiple instances by listing them like that. What you should do is put all of these audio players into an array and loop through each and setVolume on each object in the array.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜