2010-11-23 9 views
26

He creado una aplicación de iPhone para grabar nuestra voz. Cuando intento grabar, obtengo un mensaje de error en la siguiente declaración.OSStatus error 1718449215


recorder = [[ AVAudioRecorder alloc] initWithURL:url settings:recordSetting error:&err]; 

error de dominio = Código NSOSStatusErrorDomain = 1718449215 "La operación no se pudo completar. (OSStatus error 1718449215.)"

Si tratara de grabar en el archivo .caf, que está trabajando muy bien. Si lo intenté con .m4a, recibo este mensaje de error.

Ayúdame a resolverlo.

Gracias.

+3

La cuestión no está actualizado, pero desde que vine aquí a través de Google que me gustaría compartir esta referencia: [osstatus.com] (https://www.osstatus.com) le permite buscar los códigos de error – Daneo

+1

@Daneo Puede que sea antiguo, pero no está desactualizado. ¡Tuve el mismo error en 2017! – StuartQ

Respuesta

56

1718449215 es la representación decimal del código de cuatro caracteres para el error kAudioFormatUnsupportedDataFormatError.

En general se puede usar algo como esto para obtener más información de los errores que recibe:

NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain 
          code:my_error_code 
          userInfo:nil]; 
NSLog(@"Error: %@", [error description]); 
+0

¿Puedo grabar en formato .m4a? – jfalexvijay

+0

.m4a es un formato de archivo, no un códec. El códec en el que está grabando está determinado por AVFormatIDKey. – memmons

3

Los códigos de error de OSStatus son dolorosos, a menudo son demasiado generales para ayudar. ¿Intentó decode the four-char error code? A veces eso ayuda (otras veces solo tienes basura). Cree y muestre un ejemplo de código mínimo que muestre el problema. En este caso, apuesto a que el código de cuatro caracteres es fmt?. Busca el código numérico de Google y debes ser más prudente.

0

Si estás en código C o CPP se puede hacer esto.

char code[4]; 
*((SInt32*)&code[0]) = error; 
3

En caso de que esto ayuda a los demás: sólo tenía el mismo error, y que fue causada por tratar de crear/usar los archivos de audio en un formato incorrecto. He preestablecido la grabación para crear un archivo .caf, pero en su lugar, he llamado el archivo xxx.wav.

3

También me enfrenté a este problema cuando convertí el tipo de archivo a .mp3 mientras anteriormente estaba usando el formato .caf para grabar sonido con AVAudioRecorder. Volví a convertir el tipo de archivo al formato .caf & que funciona. Es posible utilizar los siguientes formatos

AAC, PCM, ima4, ULAW, ILBC

+0

Gracias por los formatos, ¿qué extensiones de archivo están permitidas por iOS? para examploe, ¿cuál es la extensión de archivo para un archivo con formato ULAW? – Josh

0
UInt32 code = CFSwapInt32HostToBig(error); 
NSLog(@"%4.4s"(char *)&code); 
+1

Considere editar su respuesta para incluir una explicación de cómo funciona su código. – Matt

1

"NSDictionary" si está vacío, el valor predeterminado es de alta calidad, si se establece, este valor será muy baja, se puede tratar de cancelar estos parámetros:

setting[AVFormatIDKey] = @(kAudioFormatAppleIMA4); 
setting[AVSampleRateKey] = @(600.0); 
setting[AVNumberOfChannelsKey] = @(1); 
setting[AVLinearPCMBitDepthKey] = @(8); 
+0

He eliminado los comentarios en chino de su publicación. Si son cruciales para su respuesta, por favor, tradúzcalos al inglés y agréguelos. StackOverflow es solo para inglés. ¡Gracias! – Rob

+1

oh veo ... gracias por su aclaración.Querido, por favor perdona mi inglés no es muy bueno, pero puedes probar esta respuesta, espero que esta respuesta te ayude – peng

+1

Gracias por recordarme, perdona mi descuido, le prestaré atención más tarde, y quiero decir tienes razón. ¡Gracias! – peng

Cuestiones relacionadas