2010-10-27 20 views
6

Estoy en las primeras etapas de desarrollo de mi primera aplicación para iPad, y por simplicidad hasta ahora he estado usando AudioServicesPlaySystemSound y las funciones asociadas para reproducir sonidos. Mi código se basa en la clase SoundEffect del ejemplo Metronome de Apple.AudioServicesPlaySystemSound no funciona en el dispositivo iPad

El síntoma específico es que puedo escuchar los sonidos en el simulador pero no en el dispositivo, aunque he verificado que puedo escuchar sonidos en otras aplicaciones en el dispositivo. AudioServicesCreateSystemSoundID está devolviendo identificadores de sonido válidos, por lo que no es algo tan simple como el nombre del archivo de sonido que tiene un caso diferente, es decir, "sound.mp3" vs. "Sound.mp3".

Reconozco que es posible que necesite cambiar a una biblioteca diferente como OpenAL por motivos no relacionados, pero me gustaría saber qué está pasando aquí. ¿Alguien tiene alguna sugerencia? ¿Hay alguna función a la que pueda llamar para obtener un valor OSStatus o algo así?

* BUMP - He estado trabajando en otros proyectos durante las últimas semanas, pero estoy de vuelta en esto ahora y realmente agradecería una respuesta. Gracias.

Respuesta

2

No creo que pueda reproducir un archivo mp3 en el dispositivo usando AudioServicesPlaySystemSound. Eche un vistazo a documentation para los tipos de archivos admitidos. No estoy seguro de por qué juegan correctamente en el simulador, pero tuve el mismo problema. Trate de usar AVAudioPlayer en su lugar:

NSError *error; 
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[[NSBundle mainBundle] URLForResource: @"sound" withExtension: @"mp3"] error:&error]; 
if (error) { 
    NSLog(@"Error creating audio player: %@", [error userInfo]); 
} else { 
    [audioPlayer play]; 
} 

[audioPlayer release]; 
5

Me encontré con esta pregunta a través de una búsqueda en Google. Mi problema es exactamente como se indica en el título de esta pregunta: "AudioServicesPlaySystemSound no funciona en el dispositivo iPad". Sin embargo, la descripción del problema es diferente.

En pocas palabras, después de actualizar mi iPad a iOS 4.3, AudioServicesPlaySystemSound dejó de funcionar.

Finalmente encontré la solución a mi versión del problema, así que espero que esto ayude a otra persona.

Vaya a la aplicación Configuración en el iPad y elija General. Toca Sonidos. Asegúrese de que "Cambiar con botones" esté configurado en ON. Esto solucionará el problema.

+0

Estoy ejecutando iOS 4.3.1 y no tengo la opción "Cambiar con botones" en General-> Sonidos. – iPadDeveloper2011

+0

Ha pasado un tiempo desde que sucedió esto, pero creo que solo se aplica al iPad 2. Es posible que también hayan cambiado el comportamiento en 4.3.1; esta respuesta se aplica a 4.3. –

+0

Utilicé iTunes para cambiar mi sonido .m4v a .aif, que es una codificación "compatible". Eso funciono. – iPadDeveloper2011

Cuestiones relacionadas