Reproducir sonidos en tu iPhone. Nivel Mojamuto.

30 June 2008






(Los fuentes del ejemplo están disponibles en el pie del artículo).

Después de haber tirado la toalla a la hora de intentar reproducir algún sonido del "sistema", he realizado un ejemplo reproduciendo un pequeño fichero de sonido con extensión CAF, AIF o WAV. Para nuestro ejemplo, vamos a reproducir un pequeño sonido cada vez que insertemos una fila a nuestro TableView.

CAF es la extensión que hace referencia a Core Audio Format, que es un formato de fichero utilizado para almacenar y manipular audio. Existen multitud de aplicaciones para la creación de este tipo de ficheros, así como para su conversión desde otros formatos.

1. PREPARAMOS EL FICHERO

Para ello, hago uso de un Wrapper ya existente y muy conocido llamado SoundEffect. Este wrapper, definido en su clase SoundEffect, tiene un manejo muy sencillo, ya que es una simple clase que dispone de los siguientes metodos:

[cpp]+ (id)soundEffectWithContentsOfFile:(NSString *)aPath;

- (id)initWithContentsOfFile:(NSString *)path;

- (void)play;[/cpp]

El método principal de los anteriores es initWithContentsOfFile, el cual hace uso de la función AudioServicesCreateSystemSoundID, que prepara nuestro fichero de audio para ser reproducido con tan solo llamar al método play.

AudioServicesCreateSystemSoundID, tiene dos parámetros:

[cpp]
OSStatus AudioServicesCreateSystemSoundID ( CFURLRef inFileURL, SystemSoundID *outSystemSoundID );
[/cpp]

- inFileURL, es el fichero que más tarde vamos a reproducir.

- outSystemSoundID es el parámetro de salida con el fichero ya preparado.

 

2. REPRODUCIMOS EL FICHERO

Una vez creada nuestra clase SoundEffect, la cual utilizaremos para preparar nuestro fichero de audio, nos disponemos a crearnos un objeto de dicha clase en nuestra aplicación:

[cpp]
NSBundle *mainBundle = [NSBundle mainBundle];

SoundEffect *clickSound = [[SoundEffect alloc] initWithContentsOfFile:[mainBundle pathForResource:@"click" ofType:@"caf"]];
[/cpp]

NSBundle, es el objeto que representa la localización del sistema de ficheros que agrupa código y recursos, el cual utilizaremos para localizar nuestros recursos y cargar el fichero click.caf.

Ahora tan solo nos queda llamar al método play que vimos anteriormente para ejecutar nuestro fichero de audio.

Descargar ejemplo: uitableviewsound.zip

 
Reproducir sonidos en tu iPhone. Nivel Mojamuto.

Comentarios recientes

  • 26 September 2009
    pepe dijo:

    y como podria hacer para reproducir en formato .mp3? Pq un wav me ocupa mucho para una sintonia ...

  • 07 April 2009
    Kanato dijo:

    Gracias por la colaboración que hace esta pagina acerca de el desarrollo para el iphone. Estoy muy agradecido por la cantidad de contenido interesante.

  • 01 July 2008
    pequenionoa dijo:

    Ah vale vale, si, tengo ese ejemplo. Saludos.

  • 01 July 2008
    Antonio dijo:

    Gracias compañero. Lo he sacado de un ejemplo que existe en la página de los ejemplos de iPhone, en concreto se llama metronome. Igualmente, recuerda que puedes pasarle también un fichero WAV.

  • 01 July 2008
    pequenionoa dijo:

    Muy interesante compañero. Tus artículos como siempre, se salen. Mi duda es: ¿de donde has sacado ese efecto de sonido, o cómo lo has hecho? Saludos.

  • 01 July 2008
    Antonio dijo:

    Muchas gracias Santi, es un buen ejemplo de aplicación Web. Y sobre todo muy util. Voy a publicarla en el foro con tu permiso. Saludos.

  • 30 June 2008
    Santi Segura dijo:

    Se que no tiene que ver con la entrada pero no sabia donde comentarlo... he descubierto una aplicacion web muy util adaptada para el iphone con el que poder ver la guia de programacion de television en españa. La web es: http://iprotv.net78.net

Deja un comentario

Escrito por:

Administrador

Sin categoría
UITableViewSoundEffect

Utilizamos cookies propias y de terceros para mantener la sesión o sus preferencias, recopilar estadísticas y proporcionar contenidos conforme a sus intereses. Si continua navegando, utiliza los servicios de la web o pulsa el botón, está aceptando su instalación y el uso que hacemos de ellas. Puede obtener más información sobre como revocar su consentimiento o cómo cambiar la configuración en este enlace.