2011-03-29 15 views
5

Estoy trabajando en el juego. Y tengo algún problema con los sonidos.Un sonido del sistema ignora el nivel de volumen

Uso los sonidos del sistema para reconocer a un jugador, cuando presiona un botón. Estos sonidos respetan el volumen establecido por un reproductor, cuando se están reproduciendo otros sonidos (utilizo AVAudioPlayer sy AudioQueue s). Pero cuando un sistema de sonido solo se reproduce, ignora un volumen establecido por el reproductor y se reproduce con el volumen de un timbre.

Cómo forzar a los sonidos del sistema a respetar el volumen establecido por un reproductor, incluso cuando no se reproducen otros sonidos?

+0

esto es un problema antiguo, pero ¿ha considerado tener un reproductor AVAudioPlayer ficticio ejecutándose en segundo plano (una muestra muy corta con un reproductor de bucle). es una tontería y una pérdida de recursos, pero debería ser el truco. también: sí, esto es molesto! – kritzikratzi

+0

@ Aleksejs: ¿Alguna vez te diste cuenta? Estoy teniendo el mismo problema, y ​​me gustaría evitar el hack de AVAudioPlayer si es posible. – Michael

+0

@Michael Noup, estoy usando 'AVAudioPlayer' para la música de fondo constantemente. No sé otra solución para este problema. –

Respuesta

0

¿Cómo están los jugadores (supongo que se refiere a las personas que juegan) el volumen, a través del control de volumen del dispositivo o a través de la interfaz de la aplicación? En este último caso, esto no funcionará, ya que los sonidos del sistema siempre deben reproducirse en el volumen del dispositivo.

De acuerdo con Multimedia Programming Guide, "Suena el juego en el volumen de audio del sistema actual, sin control de volumen programático disponible".

No sé por qué los sonidos de su sistema cambiarían el volumen cuando se está reproduciendo un sonido AVAudioPlayer. Si ese es el caso, ¿puede reproducir un sonido silencioso con AVAudioPlayer cuando no está reproduciendo otros sonidos? De lo contrario, intentaría reproducir todos los sonidos con AVAudioPlayer para que tenga control directo sobre el volumen.

+0

Un jugador puede controlar el volumen con los botones de volumen al costado del iPhone. –

3

asumiendo que son lo que significa que los jugadores están fijando el volumen con los botones laterales de volumen en el dispositivo:

tuve el mismo problema para conseguir SystemSound a respetar los botones de volumen, pero encontró una configuración en "Configuración" "Sonidos/"/" Timbre y alertas "/" Cambiar con botones "que estaba" DESACTIVADO "de manera predeterminada. Cambiar eso a "ENCENDIDO" lo hizo funcionar.

Cuestiones relacionadas