ios - swiftkey - ¿Cómo se reproduce el sonido del clic del teclado en el teclado personalizado?
sonidos para el teclado de pc (3)
En Swift, agregue una extensión a la vista de entrada de la siguiente manera;
extension UIInputView : UIInputViewAudioFeedback {
public var enableInputClicksWhenVisible: Bool {
return true
}
}
En el método de acción para sus botones llame a la siguiente función:
UIDevice.current.playInputClick()
Agregue la siguiente propiedad a su info.plist:
NSExtension | NSExtensionAttributes | RequestsOpenAccess = YES
Había creado un teclado personalizado con UIView
. Sin embargo no escuché el clic del teclado. Así que intenté seguir los códigos. Pero no puedo escuchar nada. ¿Cómo puedo reproducir el sonido de clic del teclado?
NSURL* musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:@"Tock"
ofType:@"aiff"]];
AVAudioPlayer *click = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];
[click setVolume:0.15f];
[click play];
Y también probé el siguiente.
AudioServicesPlaySystemSound(0x450);
¿Cómo puedo?
No pude hacer que nada de esto funcionara, pero esto funcionó para mí:
#import <AudioToolbox/AudioToolbox.h>
AudioServicesPlaySystemSound(1104);
Pero aún así tuve que subclasificar un UIButton
y agregarle el protocolo UIInputViewAudioFeedback
.
Prueba esto:
[[UIDevice currentDevice] playInputClick];
Tenga en cuenta que
Use este método para tocar el teclado estándar del sistema en respuesta a un toque del usuario en una entrada personalizada o en una vista de accesorios del teclado. Un clic se reproduce solo si el usuario ha habilitado los clics del teclado en Configuración> Sonidos, y solo si la vista de entrada está habilitada y es visible.
Para habilitar una entrada personalizada o una vista de accesorios para los clics de entrada, realice los siguientes dos pasos:
Adopte el protocolo UIInputViewAudioFeedback en su clase de vista de entrada. Implemente el método de delegado enableInputClicksWhenVisible para devolver YES.