Question

Je travaille sur le jeu. Et j'ai un problème avec les sons.

J'utilise des sons du système pour reconnaître un joueur, lorsqu'il appuie sur un bouton. Ces sons respectent le volume défini par un joueur, lorsque d'autres sons jouent (j'utilise AVAudioPlayerle sable AudioQueues). Mais lorsqu'un son système est uniquement à jouer, il ignore un volume défini par le joueur et joue à un volume de Ringer.

Comment forcer les sons du système à respecter un volume défini par un joueur même quand aucun autre sons n'est joué?

Était-ce utile?

La solution

Comment vos joueurs (je suppose que vous voulez dire que les gens jouent au jeu) définissent le volume - via le contrôle du volume de l'appareil ou via l'interface de votre application? Si ce dernier, cela ne fonctionnera pas, car les sons du système doivent toujours jouer au volume de l'appareil.

Selon le Guide de programmation multimédia, "Les sons jouent au volume audio système actuel, sans contrôle de volume programmatique disponible."

Je ne sais pas pourquoi votre système de système changerait le volume lorsqu'un son Avaudioplayer joue. Si c'est le cas, pouvez-vous boucler un son silencieux avec Avaudioplayer lorsque vous ne jouez pas d'autres sons? Sinon, j'essaierais de jouer tous les sons avec Avaudioplayer afin d'avoir un contrôle direct sur le volume.

Autres conseils

En supposant que vous signifie que les joueurs définissent le volume à l'aide des boutons de volume latéral sur l'appareil:

J'ai eu le même problème pour que Systemsound respecte les boutons de volume, mais j'ai trouvé un paramètre dans "Paramètres" / "sons" / "Ringer and Alerts" / "Changer avec les boutons" qui était "OFF" par défaut. L'allée à "On" l'a fait fonctionner.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top