3

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

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

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

谢谢!

4

1 回答 1

0

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

于 2012-05-29T04:48:49.677 回答