J'ai vu plusieurs exemples de cela, mais ils semblent être pour les anciennes versions du SDK. J'essaie de configurer l'enregistrement audio de base et le code suivant me donne un NullPointerException
lors du ciblage de la version 2.0 du SDK. Je l'ai réduit à la dernière ligne comme étant ce qui lance l'exception. J'ai testé avec la classe Log et j'ai constaté que les variables base
et values
sont définies correctement.Enregistrement audio NullPointerException
Voici la sortie d'exception.
12-27 11:08:18.608: ERROR/DatabaseUtils(197): Writing exception to parcel
12-27 11:08:18.608: ERROR/DatabaseUtils(197): java.lang.NullPointerException
12-27 11:08:18.608: ERROR/DatabaseUtils(197): at com.android.providers.media.MediaProvider.insertInternal(MediaProvider.java:1478)
12-27 11:08:18.608: ERROR/DatabaseUtils(197): at com.android.providers.media.MediaProvider.insert(MediaProvider.java:1370)
12-27 11:08:18.608: ERROR/DatabaseUtils(197): at android.content.ContentProvider$Transport.insert(ContentProvider.java:150)
12-27 11:08:18.608: ERROR/DatabaseUtils(197): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:140)
12-27 11:08:18.608: ERROR/DatabaseUtils(197): at android.os.Binder.execTransact(Binder.java:287)
12-27 11:08:18.608: ERROR/DatabaseUtils(197): at dalvik.system.NativeStart.run(Native Method)
En outre, dans un grand nombre des exemples que je l'ai vu, ils ajoutent le type MIME à l'objet ContentValues
en utilisant quelque chose comme
values.put(MediaStore.MediaColumns.MIME_TYPE, recorder.getMimeContentType());
où la variable d'enregistrement est un objet MediaRecorder. Il semble cependant que la méthode getMimeContentType()
n'existe plus. L'insertion peut-elle lancer l'exception car je ne définis pas la colonne de type mime? Si oui, comment puis-je obtenir le type mime dans la nouvelle version du sdk?
Merci d'avance!
EDIT:
Je pense avoir trouvé comment définir le type MIME du contenu de l'appel d'insertion. la ligne, je suis venu avec des regards comme
values.put(MediaStore.MediaColumns.MIME_TYPE, MediaStore.Audio.Media.CONTENT_TYPE);
Je ne suis cependant encore NullPointerException
Le m'a rapproché. Je suppose que le code du fournisseur de contenu fait est que le contenu peut être utilisé à travers les applications.Je ne reçois pas d'erreur d'autorisation indiquant que j'ai besoin de l'autorisation AUDIO_RECORD. Merci de votre aide! –
Vous l'avez pris en charge! Merci encore. –
Pourriez-vous poster la solution, Chris? D'autres membres ayant le même problème pourraient en bénéficier. –