Précédent   Forum du club des développeurs et IT Pro > Systèmes > Mac > XCode
XCode Forum d'entraide sur l'environnement de développement XCode
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 06/09/2011, 16h09   #1
jfrey
Invité de passage
 
Homme REY
Développeur multimédia
Inscription : septembre 2011
Messages : 1
Détails du profil
Informations personnelles :
Nom : Homme REY
Localisation : France

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

Informations forums :
Inscription : septembre 2011
Messages : 1
Points : 0
Points : 0
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
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 ?
jfrey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 18h17   #2
JeitEmgie
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 375
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 375
Points : 2 891
Points : 2 891
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
)
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h11.


 
 
 
 
Partenaires

Hébergement Web