проблема в использовании seekbar для Android Media Player - PullRequest
0 голосов
/ 12 мая 2011

в моем приложении я использую медиаплеер и хочу разместить там панель поиска.В моем коде песня играет, но панель поиска не движется.Ниже приведена часть моего кода ...

sv = (SurfaceView)findViewById(R.id.surfaceView1);
sv.postDelayed(runnable,200);  

 final Runnable runnable = new Runnable()
        {
            @Override
            public void run() 
            {
                if (mediaPlayer != null) 
                {
                    if (isPlaying) 
                    {
                        try 
                        {
                           int currentPosition = mediaPlayer.getCurrentPosition();

                            audioProgress.setProgress((int) ((currentPosition / (float) mediaPlayer.getDuration()) * 100f));

                        } catch (Exception e) {
                            e.printStackTrace();
                        }

                        sv.postDelayed(runnable, 150);
                    }
                }
            }

        };

Пожалуйста, кто-нибудь поможет мне в устранении ошибок ...

1 Ответ

1 голос
/ 12 мая 2011

Внесите эти изменения в свой код:

sv = (SurfaceView)findViewById(R.id.surfaceView1);
audioProgress.setMax(mediaPlayer.getDuration()); // this is one change
sv.postDelayed(runnable,200);  

 final Runnable runnable = new Runnable()
        {
            @Override
            public void run() 
            {
                if (mediaPlayer != null) 
                {
                    if (isPlaying) 
                    {
                        try 
                        {
                           int currentPosition = mediaPlayer.getCurrentPosition();

                                // the other change:
                    audioProgress.setProgress(currentPosition);

                        } catch (Exception e) {
                            e.printStackTrace();
                        }

                        sv.postDelayed(runnable, 150);
                    }
                }
            }

        };
...