Tout d'abord, merci pour l'équipe StackOverflow, parce que c'est un site très utile, puisque je développe sur iPhone. Secondaire, veuillez excuser ma langue. Je suis un frenchie et comme tous les frenchies je suis très mauvais en anglais.Différentes instances de SystemSoundID en cours de lecture sur différents flux!
J'ai un très étrange problème avec mes sons dans mon programme iPhone: J'ai mis en place une classe qui joue un son bref dans aiff. Ici, il est:
@implementation SoundPlayer
-(id)initWithFile:(NSString*)file{
self = [super init];
NSString *soundPath = [[NSBundle mainBundle] pathForResource:file ofType:@"aiff"];
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath: soundPath], &soundID);
return self;
}
-(void)play {
if(SOUND_ACTIVATED){
AudioServicesPlaySystemSound (soundID);
}
}
-(void)dealloc{
[super dealloc];
}
@end
Il fonctionne très bien, mais même si mes instances sont initialisés de la même façon, ils ne sont pas dans le même flux audio!
J'ai remarqué que parce que quand j'appuie sur les boutons de volume + et de volume de l'iPhone, dans certains cas, il contrôle le flux audio principal, dans d'autres cas, il contrôle le volume de la sonnerie. Si je mets le flux principal au volume 0, le son A ne sera pas audible, mais le son B le sera.
Quelqu'un a-t-il eu un problème similaire? Avez-vous une idée ?
Merci beaucoup.
Martin
J'ai oublié de dire que soundID est une variable SystemSoundID. – Martin