Audio

16:51 modifié dans API UIKit #1
Bonjour

Je cherche à  faire ceci :

Suite à  un clic à  l'écran un son sort aléatoirement (9 sons possible). Malheureusement NSSound n'est pas présent dans l'iPhone et je ne vois pas trop comment faire.

Merci d'avance à  ceux qui me lirons.

Réponses

  • 16:51 modifié #2
    Bon je met la solution pour ceux qui voulaient savoir. J'ai aidé Ed pour son projet et PsychoH13 y a participé aussi un peu :

    On a fait une sous-class de UIImageView qui répond au touch events pour jouer le son aléatoire. Il faut savoir que c'est un coussin péteur cette application :p
    On a donc déjà  commencé par faire
    <br />[self setUserInteractionEnabled:YES];<br />
    


    et on a rajouté :
    <br />- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event<br />{<br />int randoming = ((random() % 9) + 1); // Un random entre 1 et 9<br />NSString* soundName = [NSString stringWithFormat:@&quot;%i&quot;,randoming];<br />NSURL* soundURL = [NSURL URLWithPath:[[NSBundle mainBundle] pathForResource:soundName ofType:@&quot;wav&quot;];<br /><br />CFURLRef urlRef = soundURL;<br />int mySound;<br />AudioServicesCreateSystemSoundID(urlRef,&amp;mySound);<br />AudioServicesPlaySystemSound(mySound);<br />}<br />
    

    Et le tour est joué
  • AliGatorAliGator Membre, Modérateur
    16:51 modifié #3
    ??? C'est débile... Pourquoi NSSound n'est pas dispo pour l'iPhone si les API Carbon de son sont présentes, elles ? Quel intérêt de pas l'avoir intégré au SDK ?! Ne me dites pas que c'est pour alléger le SDK, y'a quand même un sacré paquet d'applications (surtout les jeux !) qui vont vouloir faire jouer du son à  l'iPhone ! Ca me parait étrange quand même cette non-disponibilité de l'API Cocoa là  dessus ???
  • AliGatorAliGator Membre, Modérateur
    16:51 modifié #4
    Ben en mm temps en surfant sur l'iPhone Dev Center je suis tombé par hasard sur la FAQ... et en effet
    You can play your own short sounds of less than 5 seconds by using System Audio Services, declared in AudioToolbox/AudioServices.h
    Et même pour les sons un peu plus longs c'est une API en C et pas du NSSound à  la Cocoa...

    Bon, ben ok, si c'est comme ça qu'il faut faire, soit, mais ça me déçoit un peu ???
  • 16:51 modifié #5
    Merci, j'allais indiquer la solution mais Louka fut plus rapide.
Connectez-vous ou Inscrivez-vous pour répondre.