11
votes

AudioservicesPlaySySystound ne joue pas de sons

Je joue un petit fichier .wav à l'aide de l'audiotoolbox. xxx

mais parfois, il ne joue pas.

Quelle est la raison? < / p>


0 commentaires

6 Réponses :


16
votes

Si vous êtes dans le simulateur, assurez-vous que dans le système Prefrences → Son, que "Effets sonores d'interface utilisateur d'utilisateur" n'est pas désactivé. Si vous êtes sur l'appareil, vérifiez que le commutateur de sonnerie n'est pas réglé sur le silence.


5 commentaires

Je ne trouve aucune "préférence du système". Sont-ils dans l'appareil simulé ou dans l'application Simulator?


Je veux dire sur Mac OS X, dans les préférences du système de votre ordinateur.


Sainte vache, c'est bête. Quel type de "simulation" reflète les paramètres de son système hôte comme celui-ci?


Un autre grand "merci" ici; D'accord, @josh. Notez également que ce paramètre semble affecter uniquement les audioservices (et peut-être uniquement audioservicesplaySySystound); Les sons joués avec l'Avaudioplayer ne sont pas affectés.


Remarque: même avec des écouteurs dans le son ne jouera pas si le commutateur silencieux des téléphones est activé, vient de perdre 2 heures à cela.



2
votes

Préférences Système → Son → [x] Play User Interface Sound - Cette case à cocher m'a également aidé pour moi aussi, elle a résolu le problème de l'audioservicesplaySystemsound (_). Mais la peine d'être noté était que l'exemple du projet Xcode Apple "Sysseound" a fonctionné simplement sans vérifier cette case. J'utilise le XCode 4.4.1 pour créer une application propre à partir de zéro. Pourrait-il y avoir des différences entre les projets créés avec des outils de Xcode plus anciens et plus récents?


1 commentaires

L'exemple SysSound fonctionne pour le bouton AudioservicesPlayalserSound, mais pas pour le bouton AudioservicesplaySystemsoundSystound. Même s'ils sont le même son.



5
votes

Peut-être que c'est Ce problème ? AudioservicesDisposeSystemsoundidID () Arrêtera le bon fonctionnement avant de jouer.


0 commentaires

0
votes

sur l'appareil, entrez dans les réglages et augmentez le volume sur Sounds-> Sonnerie et alertes


0 commentaires

3
votes

Bâtiment sur la réponse de User1056521, utilisez le code suivant:

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


0 commentaires

0
votes

Pour ceux qui visitent cette question plus tard,

AudioservicesPlaySystemsoundidID () S volume est basé sur la sonnerie système dans la plage de 0,1 ~ 1.0 , pas medivolume

audiovicesplayalertsoundidID () S volume est basé sur la sonnerie du système dans la plage d'environ 0,3 ~ 1.0


0 commentaires