2010-12-01 25 views
2

Comment jouer le fichier son En mode silencieux iPhone sdk?Comment jouer le fichier son En mode silencieux iPhone sdk?

Je suis en train de lire un fichier son en mode silencieux mais le résultat est nul

j'ai essayé ce code

SystemSoundID soundID; 
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:fullpath],&soundID); 
AudioServicesPlaySystemSound (soundID); 

quand j'importer dans le fichier d'en-tête

#import <AudioToolbox/AudioToolbox.h> 

créer erreur comme

erreur: identificateur attendu avant '\ x786f7073'

asnwer As Soon As Possible .....

Merci à l'avance

Regard

StupidiPhoneDeveloper

Répondre

3

Merci de Buddy pour une telle réponse rapide i ont trouvé la solution

par le code suivant, vous pouvez vérifier votre profil iPhone (normal/silencieux) et est le code ici

CFStringRef state; 
UInt32 propertySize = sizeof(CFStringRef); 
AudioSessionInitialize(NULL, NULL, NULL, NULL); 
AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state); 

if(CFStringGetLength(state) == 0) { 
    //SILENT 
NSLog(@"Silent switch is on"); 

    //create vibrate 
    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); 
    //this 2 line below use to play audio even in silent/vibrator mode too  

    UInt32 audioCategory = kAudioSessionCategory_MediaPlayback; 
    AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(UInt32), &audioCategory); 
} 
else { 
    //NOT SILENT 
    NSLog(@"Silent switch is off"); 
} 

Et A propos de cette erreur

error: expected identifier before '\x786f7073' 

Il suffit d'écrire la ligne ci-dessous dans chaque fichier d'en-tête de classe

#import <AudioToolbox/AudioToolbox.h> 
+0

gr8 travail, VO :) –

3

vous devez définir une catégorie de session audio qui ne sont pas réduits au silence par le muet commutateur.

Vérifiez la page de session audio sur le site dev Apple: http://developer.apple.com/library/ios/#documentation/Audio/Conceptual/AudioSessionProgrammingGuide/AudioSessionCategories/AudioSessionCategories.html%23//apple_ref/doc/uid/TP40007875-CH4-SW1

Peut-être que le AVAudioSessionCategoryPlayAndRecord est celui dont vous avez besoin.

+0

Merci pour votre aide –