解决计时器逻辑

时间:2011-06-01 12:59:50

标签: java android

我通过获取播放器的当前时间(向前30秒)在音乐播放器中快进[/ p>]

if(sec>=maxsec && min>=maxmin && hour>=maxhour)
      {
        next_buttonclick(null);

      }
    else 
    {
        sec=sec+30;
         if(sec>=60)
         {
          sec=sec%60;
          min=min+1;
             if(min>=60)
             {
                 min=min%60;
                 hour=hour+1;                
             }

         }

max是媒体的持续时间..

当我运行它时,它无法正常工作.. plz修复bug免费..

也反向

if(sec<=0 && min<=0 && hour<=0)
    {
        back_buttonclick(null);

    }
    else 
    {
        gettimeduration();
        sec=sec-30;
         if(sec<0)
         {
             sec=60+sec;
             min=min-1;
             if(min<0)
             {
                 min=60+sec;
                 hour=hour-1;

             }

         }

提前感谢..

1 个答案:

答案 0 :(得分:0)

我认为条件

(sec>=maxsec && min>=maxmin && hour>=maxhour)

不符合你的想法 想象一下maxsec是30; maxmin为6,maxhour为0.我们说sec为17,min为8,hour为0.所以maxtime为6半分钟,当前时间是8分17秒。

17 >= 30 FALSE and the whole condition becomes false

比较时间时最好的做法是转换为秒并仅比较秒数

(sec + min*60 + hour*3600 >= maxsec + maxmin*60 + maxhour*3600)