volumen vibrar vibracion teclados teclado tamaño suena subir para descargar cambiar aumentar activar iphone audio click

vibrar - iPhone: ¿cómo hacer que suene un clic de tecla para un teclado personalizado?



teclados para iphone 6 (10)

A partir de iOS 4.2, adopte el protocolo UIInputViewAudioFeedback en una subclase personalizada de UIView. Haga de esta vista su "inputView" y luego llame a "playInputClick" en el momento adecuado.

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIInputViewAudioFeedback_ProtocolReference/Reference/Reference.html

Solo para ahorrarle tiempo a algunas personas. Ponga esto en su vista personalizada:

- (BOOL) enableInputClicksWhenVisible { return YES; }

Para hacer el click haz esto:

[[UIDevice currentDevice] playInputClick];

¿Hay alguna forma de invocar mediante programación el sonido de "clic" del teclado? Mi aplicación tiene un teclado personalizado (construido a partir de UIButtons) y me gustaría proporcionar algunos comentarios de audio cuando el usuario toca las teclas. Intenté crear mis propios sonidos en Garageband, pero no estaba contento con ninguna de mis creaciones. Si no hay una forma estándar de invocar el clic de la tecla, ¿puede alguien dirigirme a una biblioteca de sonidos que pueda tener esa joya?


Esto es lo que hice de él con un comentario de Cuadrado:

NSString *path = [[NSBundle bundleWithIdentifier:@"com.apple.UIKit"] pathForResource:@"Tock" ofType:@"aiff"]; SystemSoundID soundID; AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path], &soundID); AudioServicesPlaySystemSound(soundID); AudioServicesDisposeSystemSoundID(soundID);


Esto es lo que hice:

Localice ''Tock.aiff'' en: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/System/Library/Frameworks/UIKit.framework

Arrástrelo a su carpeta de Recursos en xCode, marcando ''Copiar elementos en la carpeta del grupo de destino''

Importe AVFoundation.framework en la carpeta Frameworks en xCode

Importe AVFoundation en la parte superior de su clase:

#import <AVFoundation/AVAudioPlayer.h>

Usa la siguiente función:

- (void)PlayClick { NSURL* musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Tock" ofType:@"aiff"]]; AVAudioPlayer *click = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil]; [click setVolume:0.15f]; [click play]; }

¡Eso es!


Hay una solución realmente rápida para reproducir el sonido de teclado predeterminado:

  1. Añadir AudioToolbox.framework
  2. Agrega la siguiente línea donde quieras que se reproduzca el sonido:

    AudioServicesPlaySystemSound(0x450);


No es necesario copiar el archivo en su propia aplicación; debería poder obtenerlo directamente desde el marco de UIKit:

CFURLRef soundFileURLRef = CFBundleCopyResourceURL( CFBundleGetBundleWithIdentifier(CFSTR("com.apple.UIKit")), CFSTR ("Tock"),CFSTR ("aiff"),NULL);


No tienes que desechar el objeto de sonido de inmediato. Mantenga un puntero a ese objeto de sonido en una propiedad y deséchelo solo cuando esté a punto de reproducir otro sonido antes de recrearlo.

Y, por supuesto, finalmente desechar el objeto SystemSoundID en dealloc.


Por lo que puedo decir, el sonido de clic no está disponible para las aplicaciones. No he visto nada relevante en los servicios de sesión de audio. AudioServicesPlaySystemSound() parece prometedor, pero no parece haber ningún ID de sonido de sistema para el sonido de clic (un vistazo más de cerca a los encabezados puede mostrar algo). Siempre puede pasar una llamada a AudioServicesPlaySystemSound(i) y ver si se reproduce algo. Las imágenes de restauración del software del iPhone probablemente tengan el sonido, pero probablemente no tengan licencia para uso general. Hacer jailbreak a un iPhone para obtener el sabroso sonido de clic no necesita ser mencionado.

Para sonidos (de Creative Commons), echa un vistazo al Proyecto Freesound .

Para el futuro, tal vez solicite que Apple exponga los sonidos del sistema que no sean el sonido de alerta para usar con AudioServicesPlaySystemSound() .


Tal vez un poco tarde ... Pero en la última publicación de MrMage, si haces AudioServicesDisposeSystemSoundID(soundID); inmediatamente después de AudioServicesPlaySystemSound(soundID); entonces no escuchará nada ya que está descartando el sonido del sistema justo después de crearlo.

Debe dejar que termine de reproducirse primero. Solo llame a AudioServicesDisposeSystemSoundID para cancelar el sonido antes de que finalice


Usar 0x450 como el SystemSoundID funciona para mí (y al volumen correcto, simplemente tocando el Tock.aiff incorporado era demasiado alto). No tengo idea de lo portátil que es, esto es en un iPod Touch de tercera generación.

Todavía no respeta la preferencia por la activación / desactivación de la marca.


La forma más sencilla que he encontrado es extraer Tock.aiff (el sonido del teclado) del simulador de iPhone y empaquetarlo con su aplicación, luego reproducirlo utilizando AudioServicesPlaySystemSound() en el momento adecuado. En mi máquina, simplemente escribiendo Tock.aiff en Spotlight aparece el archivo, pero si tiene que buscarlo, está en la versión de simulador de UIKit.framework.