【问题标题】:problem while inserting audio file in MediaStore.Audio.Media.EXTERNAL_CONTENT_URI in android在android的MediaStore.Audio.Media.EXTERNAL_CONTENT_URI中插入音频文件时出现问题
【发布时间】:2010-10-19 12:18:58
【问题描述】:

我的代码是这样的

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/Database(214):sqlite 返回:错误代码 = 1,msg = 表 audio_meta 没有名为 artist_key 的列 10-19 17:14:22.543: 错误/数据库(214): 插入艺术家键时出错=%D%

任何人都可以帮我解决我的代码有什么问题吗 虽然我可以在从这个 uri 中从光标获取值时看到 coulmn artist_key 以及它的值,但是当我想插入值时它会抛出异常

提前致谢

【问题讨论】:

    标签: android


    【解决方案1】:

    您不应该尝试将任何值放入 ARTIST_KEY 字段,因为它是由 Android 的内部函数根据 ARTIST 字段值计算的。像哈希值这样的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-03
      • 1970-01-01
      相关资源
      最近更新 更多