Pregunta

Estoy en las primeras etapas de desarrollar 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 de metrónomo de Apple.

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 nada 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 razones no relacionadas, pero me gustaría saber qué está pasando aquí. ¿Alguien tiene alguna sugerencia? ¿Hay una 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 ahora estoy de vuelta en esto y realmente apreciaría una respuesta. Gracias.

¿Fue útil?

Solución

No creo que puedas reproducir un archivo mp3 en el dispositivo usando AudioServicesPlaySystemSound. Echa un vistazo al documentación para tipos de archivos compatibles. No estoy seguro de por qué juegan correctamente en el simulador, pero tuve el mismo problema. Intente 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];

Otros consejos

Encontré 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 alguien más.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top