gpt4 book ai didi

android - 在 Android MediaStore 中插入音频专辑

转载 作者:行者123 更新时间:2023-11-29 01:44:59 24 4
gpt4 key购买 nike

我找不到任何有关如何在 MediaStore 中插入相册的信息,我尝试使用

Uri uri = contentResolver.insert(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, albumValues);

但我得到一个异常提示 Invalid uri。此 uri 可以很好地检索相册,但我不能用它来插入相册。

这是其余的代码:

ContentResolver contentResolver = getActivity().getContentResolver();
ContentValues albumValues = new ContentValues();
albumValues.put(Audio.Albums.ALBUM, mAlbumEditText.getText().toString());
albumValues.put(Audio.Albums.ARTIST, mArtistEditText.getText().toString());
int trackNo = 10;
albumValues.put(Audio.Albums.NUMBER_OF_SONGS, trackNo);
Uri uri = contentResolver.insert(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, albumValues);

错误日志: 02-24 22:38:19.876: E/AndroidRuntime(5379): java.lang.UnsupportedOperationException: 无效的 URI 内容://media/external/audio/albums

最佳答案

如果文件夹不存在,您需要创建该文件夹,并将其附加到您的 URI。

//Create album folder if it doesn't exist
mImageDir = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), "MyAlbumName");
//Retrieve the path with the folder/filename concatenated
mImageFilePath = new File(mImageDir, "NameOfImage").getAbsolutePath();

//Create new content values
ContentValues values = new ContentValues();
values.put(MediaStore.Images.ImageColumns.DATA, mImageFilePath);
//Add whatever other content values you need
....
mUri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

编辑:

您缺少 ContentValues 的 DATA 部分。这指定了实际文件路径并且是必需的。

mAudioDir = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_MUSIC), "MyNewAlbumName");
mAudioFilePath = new File(mAudioDir, "myNewAudioFile.mp3").getAbsolutePath();

//This part is what you're missing
albumValues.put(MediaStore.Audio.AudioColumns.DATA, mAudioFilePath);

关于android - 在 Android MediaStore 中插入音频专辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22018173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com