2010-10-19 53 views
0

我的代码插入在MediaStore.Audio.Media.EXTERNAL_CONTENT_URI音频文件是这样的问题在机器人

ContentValues值=新ContentValues();

values.put(MediaStore.Audio.Media._ID, _ID); 
     values.put(MediaStore.Audio.Media.DATA, DATA); 
     values.put(MediaStore.Audio.Media.DISPLAY_NAME, DISPLAY_NAME); 
     values.put(MediaStore.Audio.Media.SIZE, SIZE); 
     values.put(MediaStore.Audio.Media.MIME_TYPE, MIME_TYPE); 
     values.put(MediaStore.Audio.Media.DATE_ADDED, DATE_ADDED); 
     values.put(MediaStore.Audio.Media.DATE_MODIFIED, DATE_MODIFIED); 
     values.put(MediaStore.Audio.Media.TITLE, TITLE); 
     values.put(MediaStore.Audio.Media.TITLE_KEY, TITLE_KEY); 
     values.put(MediaStore.Audio.Media.DURATION, DURATION); 
     values.put(MediaStore.Audio.Media.ARTIST_ID, ARTIST_ID); 
     values.put(MediaStore.Audio.Media.COMPOSER, COMPOSER); 
     values.put(MediaStore.Audio.Media.ALBUM_ID, ALBUM_ID); 
     values.put(MediaStore.Audio.Media.TRACK, TRACK); 
     values.put(MediaStore.Audio.Media.YEAR, YEAR); 
     values.put(MediaStore.Audio.Media.IS_RINGTONE, IS_RINGTONE); 
     values.put(MediaStore.Audio.Media.IS_ALARM, IS_ALARM); 
     values.put(MediaStore.Audio.Media.IS_NOTIFICATION, IS_NOTIFICATION); 
     values.put(MediaStore.Audio.Media.IS_PODCAST, IS_PODCAST); 
     values.put(MediaStore.Audio.Media.BOOKMARK, BOOKMARK); 
     values.put(MediaStore.Audio.Media.ARTIST_KEY, ARTIST_KEY); 
     values.put(MediaStore.Audio.Media.ARTIST, ARTIST); 
     values.put(MediaStore.Audio.Media.ALBUM_KEY, ALBUM_KEY); 
     values.put(MediaStore.Audio.Media.ALBUM, ALBUM); 
     Uri uri = getContentResolver().insert(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, values); 
     try { 
      OutputStream outStream = getContentResolver().openOutputStream(uri); 
      outStream.write(buffer); 
      outStream.close(); 

     } catch (Exception e) { 
      Log.e("insetAudio", "exception inserting audio", e); 
     } 

它给我例外,有在audio_meta没有列命名artist_key

10-19 17:14:22.491:INFO /数据库(214):源码返回:错误代码= 1,味精=表audio_meta没有列名artist_key 10-19 17:14:22.543:错误/数据库(214):插入artist_key时出错=%D%<%%%<%R%,%B%is_alarm = 0 is_ringtone = 0 is_podcast = 0 composer = null title = Vivuzela mime_type = audio/mpeg _id = 5 date_added = 1287488662 _display_name = vuvuzela.mp3 album_key =%,%<%D%P %% D%<%8%<%R%,%B% %R%4%0%:%F%H%V%<%,%R%<%H%F%P %% J%V%R %% B%R%2%-1882603603 year = 2010 _size = 498344 _data =/mnt/sdcard/Android/data/vuvuzela.mp3 bookmark = null date_modified = 1287374780 track = 0 artist_id = 1 album_id = 4 duration = 31112 is_notification = 0 title_key =%V%<%V%T%^%4%B%,% 10-19 17:14:22.543:错误/数据库(214):android.database.sqlite.SQLiteException:表audio_meta没有名为artist_key的列:编译时:INSERT INTO audio_meta(artist_key,is_alarm,is_ringtone,is_podcast,composer,title,mime_type,_id,date_added,_display_name ,album_key,year,_size,_data,bookmark,date_modified,track,artist_id,album_id,duration,is_notification,title_key)VALUES(?, ?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?); 10-19 17:14:22.543:错误/数据库(214):at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method) 10-19 17:14:22.543:ERROR/Database(214):at android SQLiteCompiledSql.java:91) 10-19 17:14:22.543:ERROR/Database(214):at android.database.sqlite.SQLiteCompiledSql。(SQLiteCompiledSql.java:64) 10 -19 17:14:22.543:ERROR/Database(214):at android.database.sqlite.SQLiteProgram。(SQLiteProgram.java:80) 10-19 17:14:22.543:ERROR/Database(214):at android SQLiteStatement.java:36) 10-19 17:14:22.543:ERROR/Database(214):at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1145) 10 -19 17:14:22.543:错误/数据库(214):在android.database.sqlite.SQLiteDa tabase.insertWithOnConflict(SQLiteDatabase.java:1536) 10-19 17:14:22.543:ERROR/Database(214):at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1410) 10-19 17: 14:22.543:错误/数据库(214):at com.android.providers.media.MediaProvider.insertInternal(MediaProvider.java:1813) 10-19 17:14:22.543:错误/数据库(214):at com。 android.provider.media.MediaProvider.insert(MediaProvider.java:1638) 10-19 17:14:22.543:ERROR/Database(214):at android.content.ContentProvider $ Transport.insert(ContentProvider.java:174) 10-19 17:14:22.543:ERROR/Database(214):at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:146) 10-19 17:14:22.543:ERROR/Database(214):at android.os.Binder.execTransact(Binder.java:288) 10-19 17:14:22.543: ERROR /数据库(214):在dalvik.system.NativeStart.run(本机方法)

任何人可以帮助我whts错我的代码 虽然我可以看到coulmn artist_key而从光标从此URI,也值获取值对于这一点,但我想插入值,它会抛出异常提前

回答

0

感谢你不应该试图投入ARTIST_KEY领域的任何价值,因为它是基于艺术家字段值Android的内部功能来计算。像散列值一样,毫不逊色。