首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android MediaPlayer的getDuration()方法从元数据获取值,而不是实际的媒体长度

Android MediaPlayer的getDuration()方法从元数据获取值,而不是实际的媒体长度
EN

Stack Overflow用户
提问于 2012-05-29 12:07:24
回答 1查看 1.1K关注 0票数 3

我正在开发一个应用程序,用户可以通过MediaPlayer播放他们的音乐。

我遇到的问题是,当调用getDuration()方法时,用户编辑过的媒体文件给出了不正确的值。我做了一些实验,似乎经常当用户使用音频编辑工具编辑一首歌曲时,元数据(包括歌曲长度)保持不变。这导致媒体播放器将这首歌视为一首3分钟的歌曲,而实际上它只有30秒。这是一个大问题,因为许多用户会在应用程序的媒体播放器中使用铃声或其他歌曲片段,这将导致显示歌曲长度的进度条和TextView不正确。

显然,在使用我的应用程序之前,我无法控制人们使用的音频编辑工具的种类。我能在应用程序端做些什么来给出准确的getDuration()值吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2012-05-29 12:48:50

以编程方式对媒体文件所做的修改将不会反映在MediaScanner中。因此,如果有必要,您可以在应用程序启动时尝试重新扫描媒体存储。请参阅https://groups.google.com/group/android-developers/browse_thread/thread/cf41cc88b6eb4393

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10792929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档