Cursor扫描本地音乐文件,英文名也出现乱码,怎么解决。

吾非名家 吾非名家 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
扫描本地音乐文件并放入List的代码如下:
public List<LocalMp3> getListByLocal() {
Cursor cursor = getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null,
MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
List<LocalMp3> localMp3s = new ArrayList<LocalMp3>();
for (int i = 0; i < cursor.getCount(); i++) {
LocalMp3 localMp3 = new LocalMp3();
cursor.moveToNext();
String title = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.TITLE));
String artist = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.ARTIST));
long duration = cursor.getLong(cursor
.getColumnIndex(MediaStore.Audio.Media.DURATION));
String mp3url = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.DATA));
int isMusic = cursor.getInt(cursor
.getColumnIndex(MediaStore.Audio.Media.IS_MUSIC)); // 判断是否音乐
if (isMusic != 0) {
localMp3.setTitle(title);
localMp3.setArtist(artist);
localMp3.setDuration(duration);
localMp3.setMp3url(mp3url);
localMp3s.add(localMp3);
}
}
return localMp3s;
}

模拟器内的音乐文件只有一个,而且是文件名全英,如图:

在模拟器里测试生成列表,显示全部为问号的乱码,如图:

用真机来测试,有些是乱码,有些能正常显示(有些中文也能正常显示),如图:


请问应该怎么解决这个乱码问题,网上找的方法不管用,望各位大神出手相助了!
...全文

相关推荐

android读取sd卡中音乐文件列表

android通过代码读取手机sd卡中的音乐文件,放在adapter中,然后放到一个ListView中,做音乐列表

会跳舞的Monkey

Android中通过MediaStore获取音乐文件信息方法

主要介绍了Android中通过MediaStore获取音乐文件信息方法,本文讲解了获取歌曲的名称、歌曲的专辑名、歌曲的歌手名、歌曲文件的全路径、歌曲文件的名称、歌曲文件的发行日期等音乐文件信息的方法,需要的朋友可以参考下

weixin_38536841

解决Cursor GBK乱码[项目代码]

在使用Cursor编辑器打开GBK/GB2312编码的老项目时,中文注释或字符串常显示为乱码。本文提供了快速解决方案:通过在项目根目录下的.vscode/settings.json文件中配置files.encoding为gbk,并启用files.autoGuessEncoding,Cursor将默认使用GBK编码打开文件。对于已打开的文件,可通过右下角选择Reopen with Encoding → Chinese (GBK)重新载入。这种方法无需修改源码编码,简单高效,适合需要立即解决乱码问题的场景。

脚滑的狐狸160

Cursor中文乱码解决[可运行源码]

本文详细介绍了在Cursor软件中遇到Python代码输出中文乱码问题的解决方法。作者通过实际操作发现,输入英文时正常显示,但中文输出会出现乱码。针对这一问题,作者提供了具体的解决步骤:首先通过右键点击“此电脑”选择属性,进入高级系统设置,然后在系统属性窗口中点击环境变量,新建一个名为PYTHONIOENCODING的变量,并将其值设置为utf-8。完成设置后重启Cursor,问题即可解决。作者还谦虚地表示这是第一次分享解决问题的经验,希望与同行共同探讨和完善。

bread

Java代码中Redis的scan方法中cursor(即scanResult.getStringCursor())返回乱码

Java代码中Redis的scan方法中cursor(即scanResult.getStringCursor())返回乱码错误信息遍历问题scan用法Java代码及问题错误原因新的问题 错误信息 新学redis,某天用scan操作做个删除某些键的小测试,碰到如下报错。 after the scan-action, the cursor equals : 㠵㔰� Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: ERR invalid cursor at redis.clients.jed

weixin_38707153
评论 10
收藏 已收藏
分享
返回顶部
吾非名家
Android 80,489 成员 91,375 内容