2010-04-27 10 views

Respuesta

15

Si está en el simulador, asegúrese de que en Preferencias de sistema → Sonido, "Reproducir efectos de sonido de la interfaz de usuario" no esté desactivado. Si está en el dispositivo, verifique que el interruptor de timbre no esté en silencio.

+0

No encuentro "Preferencias del sistema". ¿Están en el dispositivo simulado o en la aplicación del simulador? Me refiero a –

+0

en Mac OS X, en las preferencias del sistema de su computadora. – lucius

+0

Nunca hubiera pensado en esto, ¡gracias! –

2

Preferencias del Sistema → Sonido → [x] Reproduce el sonido de la interfaz de usuario: esta casilla también me ayudó, resolvió el problema AudioServicesPlaySystemSound (_). Pero vale la pena señalar que el proyecto de ejemplo de Apple Xcode "SysSound" funcionó perfectamente sin marcar esta casilla. Estoy usando el Xcode 4.4.1 para crear mi propia aplicación desde cero. ¿Podría haber diferencias entre los proyectos creados con herramientas Xcode más antiguas y nuevas?

+0

El ejemplo de SysSound funciona para el botón AudioServicesPlayAlertSound pero no para el botón AudioServicesPlaySystemSound. A pesar de que son el mismo sonido. – samkass

+0

@samkass tienes razón – Jacky

5

Tal vez es this problema? AudioServicesDisposeSystemSoundID() detendrá el sonido antes de jugar.

0

En el dispositivo, entrar en la configuración y subir el volumen de sonidos-> Ringer y Alertas

2

Sobre la base de la respuesta de user1056521, utilice el siguiente código:

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

donde soundID es el valor SystemSoundID tienes cuando llamaste al AudioServicesCreateSystemSoundID().

El bloque de finalización asegura que el sonido se haya reproducido y completado antes de su eliminación.

Cuestiones relacionadas