2017-06-15 2 views
0

J'utilise le son du système pour une sorte de notification à mes utilisateurs dans une application. Auparavant, il fonctionnait comme il se doit. J'utilisaisiOS - Le système ne sonne pas

AudioServicesPlaySystemSound(1009); 

Je reçois les codes de this site et choisissez 1009. Plus tard, il a cessé de travailler, ne pas jouer des sons quand il doit le faire. J'ai vérifié et j'ai vu que je devrais employer ceci:

AudioServicesPlaySystemSoundWithCompletion(theSoundID, ^{ 
     AudioServicesDisposeSystemSoundID(theSoundID); 
    }); 

J'ai utilisé ceci avec 1009 et non travaillé. Je l'ai réorganisé comme:

NSURL *fileURL = [NSURL URLWithString:@"/System/Library/Audio/UISounds/sms-received3.caf"]; //filename can include extension e.g. @"bang.wav" 
    if (fileURL) 
    { 
     SystemSoundID theSoundID; 
     OSStatus error = AudioServicesCreateSystemSoundID((__bridge CFURLRef)fileURL, &theSoundID); 
     if (error == kAudioServicesNoError) 
     { 
      AudioServicesPlaySystemSoundWithCompletion(theSoundID, ^{ 
       AudioServicesDisposeSystemSoundID(theSoundID); 
      }); 
     } 
    } 

Encore, ne fonctionne pas. (J'ai vérifié si le fichier existe ou non, il existe.Je vérifie également si le téléphone est en mode silencieux ou non, ce n'est pas) Cependant, dans le runtime je vais dans Paramètres> Sons et jouer avec le niveau de volume Ringer and Alerts . Ensuite, je continue (ne redémarre pas) en utilisant l'application et il joue des sons. Après l'arrêt et la réexécution, l'erreur recommence. Même en obtenant des sons, cela ne fonctionne pas continuellement.

Il pourrait être sur iOS10, je ne sais pas. Que devrais-je faire? Je vous remercie!

Ps: J'inclus <AudioToolbox/AudioToolbox.h>

Répondre

0

S'il vous plaît essayer en définissant la catégorie de AVAudioSession

AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 
NSError *err = nil; 
[audioSession setCategory: AVAudioSessionCategoryPlayback error:&err]; 
AudioServicesPlaySystemSound(1009); 
+0

ne fonctionne pas. Tout est pareil. – anyName

+0

est-ce qu'un autre système fonctionne? ou Seul problème avec 1009? –

+0

Non, j'ai essayé d'autres codes et j'ai vu que ça n'avait pas d'importance. – anyName