Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Homme Profil pro Jean-François REY
    Développeur multimédia
    Inscrit en
    septembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-François REY
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Communication - Médias

    Informations forums :
    Inscription : septembre 2011
    Messages : 6
    Points : 3
    Points
    3

    Par défaut Jai du son sur le simulateur et pas sur Ipad

    HAAAA je deviens fou, j'ai suivi pas à pas le tutoriel suivant
    [ame="http://www.youtube.com/watch?v=dcLcZqJsHMc"][/ame]
    ce programme fonctionne correctement en mode simulateur mais pas en mode device sur l'IPAD
    voici mon code

    pour le .m
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #import "TestSon2fileViewController.h"
    #import <AVFoundation/AVFoundation.h>
     
    @implementation TestSon2fileViewController
     
    - (IBAction)playSound1 {
    NSString *path=[[NSBundle mainBundle] pathForResource:@"gagne01" ofType:@"mp3"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL : [NSURL fileURLWithPath: path] error:NULL];
    theAudio.delegate=self;
    [theAudio play];
    }
     
    - (IBAction)playSound2 {
    NSString *path=[[NSBundle mainBundle] pathForResource:@"perdu1" ofType:@"mp3"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL : [NSURL fileURLWithPath: path] error:NULL];
    theAudio.delegate=self;
    [theAudio play];
    }
    et pour le .h
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #import <UIKit/UIKit.h>
     
    @interface TestSon2fileViewController : UIViewController {
     
     
    }
     
    - (IBAction)playSound1;
    - (IBAction)playSound2;
     
     
    @end
    sachant qu'avant j'avais essayé de jouer du son AudioToolbox et que j'avais le même problême est qu'il est possible que j'ai un problème avec mon IPAD ou une initialisation mal faite ?

  2. #2
    Expert Confirmé
    Homme Profil pro
    Inscrit en
    septembre 2006
    Messages
    2 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2006
    Messages : 2 382
    Points : 2 914
    Points
    2 914

    Par défaut

    a.
    NSBundle a une méthode URLForResource:extension: qui vous évite de devoir appeler fileURLWithPath:

    b.
    si vous voulez jouez des sons courts - genre clic lorsque l'utilisateur touche un objet de l'UI - utilisez :
    AudioServicesCreateSystemSoundID, AudioServicesPlaySystemSound, AudioServicesDisposeSystemSoundID
    (attention ce sont pas tous les mêmes formats qui sont compatibles : utilisez afconvert pour mettre le son dans un format compatible si nécessaire)

    c.
    pour jouez des sons longs :
    charger le son avec AVAudioPlayer comme vous le faites, appelez prepareToPlay et faites jouez le son dans un NSThread
    avec
    Code :
    selector:@selector(startAudioThread:)
    et
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    - (void)startAudioThread:(id)theAudio
    {
        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
        [NSThread setThreadPriority:1.0];
    
    	while (self.isPlaying) {
    		[(AVAudioPlayer *) theAudio play] ;
    		[NSThread sleepForTimeInterval:0.01];
    	}
    	[pool drain] ;
    }
    self.isPlaying étant mis à YES lors de la création du NSThread,
    et à NO dans la méthode audioPlayerDidFinishPlaying:successfully: du delegate, le même "self" que celui passé à initWithTarget:selector:object: de NSThread.

    (voir exemples sur le site d'Apple, notamment le Metronome … en principe aussi sur votre disque :
    file:///Developer/Platforms/iPhoneOS.platform/Developer/Documentation/DocSets/com.apple.adc.documentation.AppleiOS4_3.iOSLibrary.docset/Contents/Resources/Documents/index.html#samplecode/Metronome/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007434
    )

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •