Formatos de Sonido para iPhone e iPad
Con Cocoa-Touch puedes reproducir sonidos en los siguientes formatos:
- wav (no comprimido)
- mp3 (comprimido)
- aiff (comprimido)
- caff (no comprimido)
¿Qué formato de sonido es más adecuado para iOS?
Para sonidos cortos, como un bip al tocar un botón, el ideal es CAFF. Al no ser comprimido, iOS no tendrá que perder el tiempo descomprimiéndolo y sonará casi instantaneamente. Apple recomienda no usarlo para ficheros de más de 30 segundos de duración.
Para sonidos más largos, es preferible usar el formato AIFF (que logra compresiones de hasta 4:1). iOS lo irá descomprimiendo sobre la marcha, a medida que lo reproduce.
Convertir sonidos al formato adecuado para Cocoa
Si tienes un sonido en mp3 o wav y deseas convertirlo a alguno de estos formatos, la herramienta necesaria viene incluída con el SDK de iPhone. Es una utilidad de linea de comandos llamada afconvert.
Algunos ejemplos del uso de afconvert:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# creates sound.caf (little endian, 16 bit)
afconvert -f caff -d LEI16 sound.wav
# creates sound.caf (little endian, 16 bit, 22kHz)
afconvert -f caff -d LEI16@22050 sound.wav
# creates sound.caf (little endian, 16 bit, MONO)
afconvert -f caff -d LEI16 -c 1 sound.wav
# creates sound.aifc (IMA4 compression)
afconvert -f AIFC -d ima4 sound.wav
# creates sound.aifc (IMA4 compression, MONO)
afconvert -f AIFC -d ima4 -c 1 sound.wav |
Reproducir un sonido corto en iOS
Cursos iOS de CocoaMental
Aprovecha el mundo de oportunidades que la programación y desarrollo para iPhone & iPad brinda en estos momento. Fórmate o a tu equipo con nuestros cursos “gourmet” de iOS para programadores y NO programadores.
Somos especialistas en Apple, nos preparamos con los mejores del mundo y eso, hace la diferencia.
Todo esto probado y comprobado repetidamente por todos nuestros alumnos y clientes corporativos:
- Máximo nivel técnico,
- Grupos súper reducidos,
- Metodología de enseñanza única, 100% pragmática y enfocada a resultados,
- Acceso directo a los formadores,
- Atención continuada antes, durante y después del curso.
La formación es excelente para iniciarse en el desarrollo de apps para iOS— Alumno iOS Básico Barcelona
Excelente informacion amigo, de verdad agradezco tu apoyo, te felicitio no hay mucha gente como tú!— Ing. Marco Vera
Great ios lessons with @frr149 . Thanks!— @harrakiss, Twitter
Lo primero es añadir la siguiente framework a tu proyecto: AudioToolbox. Luego tienes que #import <AudioToolbox/AudioServices.h>
Crear un SystemSoundID para tu sonido
|
1 2 3 4 5 6 7 8 9 10 |
- (void)viewDidLoad
{
[superviewDidLoad];
NSString *path = [[NSBundlemainBundle] pathForResource:@"btn"ofType:@"caf"];
NSURL *url = [NSURLfileURLWithPath:path isDirectory:NO];
SystemSoundID id;
OSStatus res = AudioServicesCreateSystemSoundID((CFURLRef)url, &id);
if (res == kAudioServicesNoError) {
self.btnClickId = id;
} |
}
Reproducir el sonido
|
1 2 3 |
-(IBAction) playClic: (id) sender{
AudioServicesPlaySystemSound(self.btnClickId);
} |
Recuerda que luego habrá que llamar a AudioServicesDisposeSystemSoundID() para liberar recursos.
Reproducir un sonido largo en iOS
Lo primero es añadir las siguientes frameworks a tu proyecto:
- AVFoundation
- MediaPlayer
|
1 2 3 4 5 6 7 8 9 10 |
-(IBAction) playLongSound: (id) sender{
NSString *filePath = [[NSBundlemainBundle] pathForResource:@"beach_waves"ofType:@"aifc"];
NSError *err = nil;
NSData *soundData = [[NSDataalloc] initWithContentsOfFile:filePath options:NSDataReadingMappederror:&err];
AVAudioPlayer *p = [[AVAudioPlayeralloc] initWithData:soundData error:&err];
self.player = p;
self.player.numberOfLoops = -1;
[self.playerplay];} |
Donde obtener sonidos
Fernando Rodríguez
Sígueme en twitter.
Cursos de desarrollo iPhone






3 Responses to Cómo reproducir sonidos en iOS