Soucis avec le player

@importer@importer Membre
juillet 2009 modifié dans API UIKit #1
Bonjour,
Tout d'abord félicitation pour le changement de design.
Bon, j'ai un petit problème avec AVAudioPlayer. Dans mon appli il y a une alarme et donc l'utilisateur peut choisir la mélodie qu'il souhaite.
Ce qui débloque:
Quand je lance l'appli, je laisse la mélodie chargée en défault, je l'écoute, je change de mélodie, j'écoute. OK
Par contre si dés le départ je choisi de changer la mélodie, le player ne lit pas

<br />-(void)setAlarmMelody {<br />//....code pour filePath, bundle, fileURL retiré pour gagner de la place dans le post<br /><br />AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: [sonArray objectAtIndex:posInArray] error: nil];<br />	[newPlayer prepareToPlay];<br />	[newPlayer setDelegate: self];<br />	self.player = newPlayer;<br />	[newPlayer release];<br />	<br />	[fileURL1 release];<br />	[fileURL2 release];<br />	[fileURL3 release];<br />	[fileURL4 release];<br />}<br /><br />- (IBAction)changeAlarmMelody {<br />	if([player isPlaying]){<br />		NSLog(@&quot;play -&gt; stop&quot;);<br />		[player stop];<br />		player.currentTime = 0;<br />	}else{<br />		[player stop];<br />		player.currentTime = 0;<br />		NSLog(@&quot;not playing&quot;);<br />		if(posInArray &lt; sonArray.count - 1){<br />			posInArray += 1;<br />			titreAlarmMelody.text = [titreArray objectAtIndex:posInArray];<br />			NSLog(@&quot;titre %@&quot;,titreAlarmMelody.text);<br />			NSLog(@&quot;pos %i&quot;,posInArray);<br />			[self chargePlayer:posInArray];<br />		}else{<br />			posInArray = 0;<br />			NSLog(@&quot;pos %i&quot;,posInArray);<br />			titreAlarmMelody.text = [titreArray objectAtIndex:posInArray];<br />			NSLog(@&quot;titre %@&quot;,titreAlarmMelody.text);<br />			[self chargePlayer:posInArray];<br />		}	<br />	}<br />}<br /><br />- (void)chargePlayer:(int)index{<br />	player = [[AVAudioPlayer alloc]initWithContentsOfURL:[sonArray objectAtIndex:index] error:nil];<br />	[player prepareToPlay];<br />}<br />- (IBAction)listenAlarmMelody {<br />&nbsp; &nbsp; if(superView = [self superview]){<br />		if([player isPlaying]){<br />			[player stop];<br />			player.currentTime = 0;<br />		}else{<br />			//player.numberOfLoops = 1; //n -&gt; tourne n+1 fois //-1 ou -n -&gt; tourne en boucle <br />			[player play];<br />		}<br />	}else{<br />		player.currentTime = 0;<br />		player.numberOfLoops = -1;<br />		[player play];<br />	}<br />}<br />

setAlarmMelody: n'est executée qu'une fois
changeAlarmMelody: est lancée à  chaque fois qu'on touche le bouton pour changer de mélodie
listenAlarmMelody: est appelée quand l'alarme sonne ou quand on souhaite écouter une mélodie.

Vraiment je vois pas ce qui ne va pas.
Merci

Réponses

  • @importer@importer Membre
    06:28 modifié #2
    S'il vous plait, de l'aide s'il vous plait
  • GreensourceGreensource Membre
    06:28 modifié #3
    Perso je n'y connaà®t rien en AVAudio désoler, mais soit patient, des réponses viendront. Si tu bloque complètement je te conseille de passer à  une autre partie de ton code en attendant.

    Si ton code est parmi tout un projet, tu peux aussi essayer de ne faire qu'un mini projet qui ne fait que ça pour mieux isoler ton souci.
  • @importer@importer Membre
    06:28 modifié #4
    Bah j'ai fini en fait, c le seul (parmis d'autres...) problème qu'il me reste à  résoudre. En attendant j'essaie de faire le transfert sur l'iPhone mais ça débloc grave. Pas moyen de choper le Provisionning Profile je sais pas quoi.
    Il me disent :"We are not able to generate your Profile at this time.

    Please try again later or try using the Program Portal."
Connectez-vous ou Inscrivez-vous pour répondre.