大佬教程收集整理的这篇文章主要介绍了Android SDK MediaPlayer无法正确搜索,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有@L_215_1@mp3@L_450_2@,我的应用程序必须寻找该mp3@L_450_2@的某些选定时间,然后从那里开始播放.
private static int convert(String timE) {
int quoteInd = time.indexOf(":");
int poinTind = time.indexOf(".");
int min = Integer.valueOf(time.subString(0,quoteInd));
int sec = Integer.valueOf(time.subString(++quoteInd,poinTind));
int mil = Integer.valueOf(time.subString(++poinTind,time.length()));
return (((min * 60) + seC) * 1000) + mil;
}
注意:我的蜇伤就像5:12.201,这意味着5分12秒和201毫秒.
我从MP3音频编辑器应用程序(它是用于Windows)中获取这些时间,并且我使用KMPlayer应用程序(它用于Windows)检查主题.这些时间对他们两个都是正确的.
但在我的应用程序中,当我寻找我的MediaPlayer时,音频不会从我选择的位置开始. (时间是正确的,但声音是不同的.)
我认为MediaPlayer没有正确地寻求那个时间.所以我在播放前通过调用getCurrentPosition()来检查当前位置,但返回值和搜索值相同.
我对它没有任何想法.
编辑:
我的问题不是时间转换.
我正确地转换并寻求那里,但它发挥了那个时代没有预料到的东西.
这意味着KMPlayer和Android的时机不同.
我的问题是Way?怎么解决呢?
seekTo
方法.这需要毫秒作为时间偏移.你的偏移是你想要开始的距离,例如从开始1分钟可以是你的偏移.
如果你想寻找像5:12.201这样的时间,那么使用seekTo(312201);
解释:
1000毫秒给你一秒,所以12000是12秒,60000是一分钟.
如果你想要5m:12s的时间那么做:
@H_831_7@mymins = 1000 * 60 * 5; //# 5 mins at 60 secs per minute MySecs = 1000 * 12; //# 12 secs MymilliSecs = 201; //# 201 millisecs SeekValue = (Mymins + MySecs + MymilliSecs); seekTo(Seekvalue); //# seeks to 312201 millisecs (is == 5 min & 12 secs & 201 ms)
以上是大佬教程为你收集整理的Android SDK MediaPlayer无法正确搜索全部内容,希望文章能够帮你解决Android SDK MediaPlayer无法正确搜索所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。