1.本地文件
通过查询数据库audio或video视图的duration字段。
这种方法针对手机上存储的本地文件有效,但对于网络上的在线文件则不起作用。
2.在线文件
对于在线文件,则可以在MediaPlayer的prepareAsync后,当接收到onPrepared的时候通过MediaPlayer的getDuration方法取得总时长。
对于本地的APE音乐文件,也可以通过上述方法在prepare完成后取得总时长;虽然APE文件会被扫描到数据库中,但有时候扫描的时长不正确,就可以通过这种方法来校正。
当然,修正媒体扫描错误才是解决APE文件时长扫描不正确的最好方法。
注意拿回来的是int类型的值,单位是毫秒,想要变成多少秒,就先除以100,就是多少秒了,然后再变成多少分钟,多少小时,自己换算