首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

添加元数据标签(如标题、艺术家、专辑)到音频文件不起作用(安卓MediaStore)

问题描述:在安卓平台上使用MediaStore添加元数据标签(如标题、艺术家、专辑)到音频文件时,发现该功能不起作用。

回答:

在安卓平台上,使用MediaStore添加元数据标签到音频文件时出现问题可能有多种原因。以下是可能导致该功能不起作用的一些常见原因和解决方法:

  1. 文件格式不支持:首先要确认音频文件的格式是否支持元数据标签的添加。常见的音频文件格式如MP3、WAV、FLAC等通常都支持元数据标签。如果文件格式不支持,需要将音频文件转换为支持的格式。
  2. 权限问题:确保应用程序具有适当的权限来修改文件的元数据。通常,修改外部存储中的文件元数据需要WRITE_EXTERNAL_STORAGE权限。
  3. MediaStore API使用错误:确保使用MediaStore API正确地添加元数据标签。首先需要查询媒体库获取音频文件的URI,然后使用ContentResolver进行更新操作。以下是一些基本示例代码:
代码语言:txt
复制
// 查询媒体库获取音频文件的URI
Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String selection = MediaStore.Audio.Media.DATA + "=?";
String[] selectionArgs = new String[] { audioFilePath };
String[] projection = new String[] { MediaStore.Audio.Media._ID };

Cursor cursor = getContentResolver().query(uri, projection, selection, selectionArgs, null);

// 获取音频文件的ID
long audioId = 0;
if (cursor != null && cursor.moveToFirst()) {
    audioId = cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media._ID));
    cursor.close();
}

// 使用ContentResolver更新元数据标签
ContentValues values = new ContentValues();
values.put(MediaStore.Audio.Media.TITLE, "新标题");
values.put(MediaStore.Audio.Media.ARTIST, "新艺术家");
values.put(MediaStore.Audio.Media.ALBUM, "新专辑");

Uri updateUri = ContentUris.withAppendedId(uri, audioId);
int rows = getContentResolver().update(updateUri, values, null, null);
  1. 媒体库刷新问题:由于媒体库的缓存机制,可能需要刷新媒体库才能在文件管理器或其他应用程序中看到更新后的元数据标签。可以使用以下代码强制刷新媒体库:
代码语言:txt
复制
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(audioFilePath))));
  1. 第三方应用的干扰:如果安装了其他第三方音频管理应用,可能会导致元数据标签的冲突。尝试关闭或卸载这些应用程序,然后重新尝试添加元数据标签。

如果以上方法仍然无法解决问题,建议参考安卓开发文档、社区论坛或联系安卓开发专家以获取更多帮助。

腾讯云相关产品推荐:

  • 云存储(对象存储):提供高扩展性、高可靠性、低成本的数据存储服务,适用于音频文件的存储和管理。详细介绍请参考:腾讯云对象存储 COS
  • 云开发(Serverless):无服务器云开发平台,提供了云函数、数据库、存储、云托管等功能,方便快速构建后端服务。详细介绍请参考:腾讯云云开发

请注意,以上推荐的腾讯云产品仅供参考,具体选择需根据实际需求进行评估。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

mp3格式音频文件结构解析图_mp3文件结构

关于曲目的信息标题、作者等都存放在不同的标签帧中,扩展标签头和标签帧并不是必要的,但每个标签至少要有一个标签帧。标签头和标签帧一起顺序存放在MP3 文件的首部。...第910字节为标签帧的标记,如上所述,这里为00 帧内容是歌曲标题标题的36个字节的内容为:紫藤花☆ゞ忍音.地带[renyin.12u.cn] 2、音频数据帧 每个帧都有一个帧头Header,长度是...图 2.3中地址为0x8800x89F(含),此处数据全为0。...ID3v1标签包含艺术家标题,唱片集,发布年代和流派。另外还有额外的注释空间。位于音频文件的最后固定为128字节。可以读取该文件的最后这128字节获得标签。...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.7K10
  • Android10.0实现本地音乐播放(附源码下载)

    1.概述 本篇文章仅是Android小白在写一个小程序,内容仅供参考,有很多不足之处希望各位大神指出,文章末尾有整个项目的下载,不需要币,只求帮你们解决问题的同时收获到一颗小小的赞。...这个项目中还有很多不足的地方,:在按键中设置图片文字,这些正常的应该交给Handler处理,我只是粗略地完成这个项目。测试环境:Android10.0。...public class Mp3Info { private String url;//路径 private String title;//歌曲名 private String artist;//艺术家...(MediaStore.Audio.Media....,目前是只能获取手机自带歌曲的专辑图片,如果手机有酷狗,qq音乐之类的,可能无法获取专辑图片 //因为他们的uri不知道。

    2.2K21

    HarmonyOS学习路之开发篇—多媒体开发(媒体数据管理开发)

    一、媒体数据管理开发概述 HarmonyOS媒体数据管理模块支持多媒体数据管理相关的功能开发,常见操作:获取媒体元数据、截取帧数据等。...媒体元数据 媒体元数据是用来描述多媒体数据数据,例如媒体标题、媒体时长等数据信息。...二、媒体元数据获取开发 场景介绍 媒体元数据是描述多媒体数据数据,例如媒体标题、媒体时长、媒体的帧数据等。...Audio.convertNameToKey(String name) 将艺术家或者专辑名称转换为可用于分组,排序和搜索的“key”。...Audio.Artists.Albums.fetchResource(String volumeName, long id) 获取用于处理所有专辑出现艺术家的歌曲信息的Uri。

    28620

    《QQ音乐小电台》小程序开发

    歌曲信息以及变更(包括歌曲列表,播放状态,切换音频,专辑图,歌曲名,歌手等)存储在小程序提供的storage下,方便不同页面数据同步 歌词滚动 音频组件API目前没有提供类似audio的onTimeUpdate...,微信旧版本上会检测playBackgroundAudio的title和coverImgUrl参数,后来fix这个bug,为了兼容之前版本,还是将参数传入。...IOS、播放暂停切歌 IOS,机下播放过程中先暂停在切换歌曲,发现播放的歌曲为原先的歌曲。...带来问题:音频播放完成以及播放音频文件有误403或500都会触发wx.onBackgroundAudioStop事件。...同步播放状态 机下播放一首歌曲且同时打开新页面(播放页),同步上一页面播放态,wx.getBackgroundAudioPlayerState在有歌曲播放的情况下status返回为2,且状态返回

    4.7K10

    基于Django的录音管理系统的开发总结

    前言 手机默认打开了通话录音功能,几年下来积攒了上千条录音,一直懒得清理。最近写了一个管理系统,将所有录音文件导入。进行可视化分析,给自己几年打的所有电话生成一份报告。...转文字通过调用腾讯api完成,将结果保存到数据库,便于查询。可视化模块通过grafana直接读取mysql数据实现。...,可以为空 tags = models.CharField(max_length=255, blank=True, null=True, verbose_name='标签') # 标签,最多...phone_number=contact) arr = [] #倒序 for item in mediaList[::-1]: # 随机1-10专辑封面图片...直接链接mysql数据库,通过sql查询数据并返回,具体页面如开头所示。 完整项目代码获取 【统计分析】基于Django开发的录音管理系统源码

    7810

    微信小程序面试题总结

    onHide() 页面隐藏/切入后台时触发, 底部 tab 切换到其他页面或小程序切入后台等。 onUnload() 页面卸载时触发,redirectTo或navigateBack其他页面时。...优势: 容易上手,基础组件库比较全,基本上不需要考虑兼容问题; 开发文档比较完善,开发社区比较活跃,支持插件式开发; 良好的用户体验:无需下载,通过搜索和扫一扫就可以打开,打开速度快,上可以添加到桌面...样式不可修改,例如:幻灯片、导航 推广面窄,不能分享朋友圈,只能通过分享给朋友,附近小程序推广 依托于微信,无法开发后台管理功能 后台调试麻烦,因为api接口必须https请求且公网地址 真机测试,个别功能和苹果表现迥异...,例如的定位功能加载很慢 七.怎么解决微信小程序的异步请求问题?...onHide()页面隐藏/切入后台时触发,底部tab切换到其他页面或小程序切入后台等 onUnload()页面卸载时触发,redirectTo或navigateBack其他页面时。

    8K63

    这个月被「视频播放」坑惨了,曝光八大坑

    在同层渲染下生效,支持 DLNA 协议;iOS 支持 AirPlay 和 DLNA 协议;默认为 false。...经测试该属性对 ios 手机有效,手机无效。...最后我采用的 js + css 的布局方式实现,先将数据源分为 2 个数组,然后才有 flex 流式布局实现了瀑布式布局。 2.2 视频权限的交互 在项目里面视频分为单个视频和视频专辑(多个视频)。...该接口的使用示例如下: 2.4 全屏横屏播放 在前面学习属性的时候,我们知道 enable-auto-rotation 可以实现手机横屏全屏的效果,但是这个属性对手机无效,所以放弃了使用这个属性,...enable-auto-rotation: 使用该属性时,要注意该属性对机无效。因为自己用的 ios 的手机,折腾了很久才发现这个问题。最后使用 api 实现的全屏播放功能。

    1.8K10

    HTML5新增相关标签的和属性

    h5通过figure和figcaption引入流,其中figcaption是流标题,流标题不是必须的,但是如果包含它,它必须是figure的最前面或者最后面的一个元素。...将该文件保存到工作区的根目录,通过 1 引入;如果图标无法加载显示页面中,可能是因为网页加载图标过慢,...标签可以包裹多个source标签,用来导入不同的音频文件,浏览器会自动选择一个可以播放的文件播放 有些浏览器不支持某种格式的音频,可以使用source标签嵌套在audio标签中,添加几种不同格式的音频...type后的值,如果和media中不匹配,一般忽略; 列表 描述(自定义)列表 dl,dt,dd,其中dl中只能包含dt和dd标签,dt和dd标签中可以包含其他任何标签,应用实例——股票的增跌的数据表示...——任何定义了ID值的元素都可以作为锚点标记,给标签的ID锚点命名时不要含有空格,同时不要置于绝对定位元素内,为a标签设置href属性,属性值设为“#+锚点名称”,“#p4”,如果链接到不同页面,则设置

    2K10

    Qt学习之路_14(简易音乐播放器)

    这里用这个框架同样是用来播放,暂停等多媒体的各种控制功能,另外该框架可以自动获取音频文件的一些信息,这样我们在设计播放列表时可以获取这些信息,比如歌手名,专辑名,时长,文件名等等。...程序中并没有直接使用meidaObject对象来获取音频文件信息,而是创建了新的MedioObject类对象meta_information_resolver作为元数据的解析器。...因为只有在LoadingState完成后才能获得元数据,所以可以先调用解析器的setCurrentSource()函数为其设置一个媒体源,然后关联它的stateChanged()信号,等其进入StoppedState...- previous; lrc->start_lrc_mask(interval_time); } } else { // 如果没有歌词文件,则在顶部标签中显示歌曲标题...//获取文件标题信息 QString title = meta_data.value("TITLE"); //如果媒体元数据中没有标题信息,则去该音频文件的文件名为该标题信息

    4.4K20

    Qt学习之路_14(简易音乐播放器)

    这里用这个框架同样是用来播放,暂停等多媒体的各种控制功能,另外该框架可以自动获取音频文件的一些信息,这样我们在设计播放列表时可以获取这些信息,比如歌手名,专辑名,时长,文件名等等。...程序中并没有直接使用meidaObject对象来获取音频文件信息,而是创建了新的MedioObject类对象meta_information_resolver作为元数据的解析器。...因为只有在LoadingState完成后才能获得元数据,所以可以先调用解析器的setCurrentSource()函数为其设置一个媒体源,然后关联它的stateChanged()信号,等其进入StoppedState...- previous; lrc->start_lrc_mask(interval_time); } } else { // 如果没有歌词文件,则在顶部标签中显示歌曲标题...//获取文件标题信息 QString title = meta_data.value("TITLE"); //如果媒体元数据中没有标题信息,则去该音频文件的文件名为该标题信息

    2K30

    走进音视频的世界——Matroska封装格式的介绍(二)「建议收藏」

    基本电影 在一张DVD(XML版本)上添加电影的标题,导演,发行日期和评论,示例如下: 标签 标签(关于电影) SimpleTag TagName =“标题” TagString =“ Dune”...音频内容通常带有标签,即关于您可以收听的内容的元信息,例如艺术家姓名,曲目标题,发行年份等。...包含所有曲目的单个文件 标签 标签 目标(没有目标意味着文件的全部内容,否则您可以放置​​所有ChapterUID) TargetTypeValue = 50 TargetType =“专辑” SimpleTag...TagName =“艺术家” TagString =“微纳特” SimpleTag TagName =“标题” TagString =“哔哔哔” SimpleTag TagName =“ TOTAL_PARTS...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.3K10

    习惯了收听虾米酷狗网易云音乐的你,好歹知道一下音乐推荐到底是咋回事吧

    翻译 | reason_ W编辑 | suiling 营长按: 不好意思,被标题党了吧 其实,我们全篇讲的是坐音乐推荐的始祖Spotify的音乐推荐系统。 搞懂了这货的算法,还有啥是你不知道的。...每个周一,数亿的Spotify用户会在Spotify上看到一个全新的音乐推荐列表,这是一个包含了30首歌曲的自定义混音专辑,被称为“Discover Weekly(每周发现)”,这里边的音乐都是你未曾听过的...然后,Pandora的代码可以简单地筛选某些标签来制作相似音乐的播放列表。...——即对这些歌曲经常使用什么形容词和语言,还会讨论哪些其他艺术家和歌曲。...当然,这些推荐模型最终都要连接到Spotify的更大的生态系统中,其中包括大量的数据存储,使用大量的Hadoop集群来扩展建议,并使这些算法引擎对巨型矩阵,无尽的互联网音乐文章和大量的音频文件进行计算。

    1.7K90

    matplotlib - matplotlib 教程

    Figure 该图记录了所有子轴,一些 “特殊” 的艺术家标题,图形图例等)和画布。...每个Axes都有一个标题(通过 set_title() 设置),一个x标签(通过 set_xlabel() 设置)和一个通过 set_ylabel() 设置的y标签。...渲染图形时,所有艺术家都被绘制画布(canvas)上。大多数艺术家(Artist)都与轴有关; 这样的艺术家(Artist)不能被多个轴共享,也不能从一个轴移动到另一个轴。...设置标题,图例和轴标签还会自动使用当前轴并设置标题,创建图例并分别标记轴。...有些人运行Jupyter笔记本并绘制内联图以进行快速数据分析。其他人将matplotlib嵌入图形用户界面(wxpython或pygtk)中以构建丰富的应用程序。

    4.6K31

    Joe主题再续前缘版 - 本站同款

    可设置两处展示位置或关闭 新增博主栏鼠标移入漂浮物可设置显示或隐藏 新增评论模块自动记住网址 新增评论模块评论失败后返回原因 新增必应收录推送 新增自定义站点引入文件源,可把静态文件存入云存储空间内,:...如果没有文章没有缩略图那么使用首页顶部大图和侧边栏随机一言充当文字 对全局设置中自定义存储空间功能进行详细描述 新增在线友链申请功能,需要配置邮箱功能 1.13 修复部分站点展示百度统计数据出现 --...优化黑夜模式下的渐变背景颜色 修复文章摘要显示编辑器代码:{lamp /} 等 Markdown 语法 1.14 修复统计页面查询文章归档时SQL版本大于或等于8的时候报错 屏幕浏览进度条位置优化导航栏下方...2022-09-06 08:11:09 星期二 紧急修复主题设置页面报错提示 1.2 2022-11-19 23:32:06 星期六 新增可设置全局音乐播放,支持目前各大主流平台,支持播放类型有歌单、单曲、专辑...、搜索结果、艺术家,支持是否自动播放(部分浏览器已禁用自动播放声音策略),支持列表播放顺序,支持自动寻找音乐主题色 修复防红页面显示打开地址错误 新增文章视频模块支持自动切换下一集,自动跟随主题色,支持播放器视频截图功能

    3K20

    移动前端开发之viewport的深入理解

    例如设备根据屏幕像素密度可分为ldpi、mdpi、hdpi、xhdpi等不同的等级,分辨率也是五花八门,设备上的一个css像素相当于多少个屏幕物理像素,也因设备的不同而不同,没有一个定论。...但是设备就比较复杂了,有320px的,有360px的,有384px的等等,关于不同的设备ideal viewport的宽度都为多少,可以http://viewportsizes.com去查看一下,...因为这个属性只有支持,并且已经决定要废弃target-densitydpi 这个属性了,所以这个属性我们要避免进行使用 。...大多数浏览器都符合这个理论,但是上的原生浏览器以及IE有些问题。...,然后第二次弹出的值是320,这才是第一行meta标签所达到的效果啊,所以在2.3(或许是所有2.x版本中)的自带浏览器中,对meta viewport标签进行覆盖或更改,会出现让人非常迷糊的结果。

    1.1K50
    领券