2014-07-14 7 views
1

, 갤러리에서 비디오를 선택하고 나는 사용자 정의 된 범위 SeekBar를 드래그하며 이동 위치와 시간을 diaplay 때마다 비디오 위치를 이동할 사용자 정의 검색 바를 끌 때 비디오 위치를 이동하는 방법은 무엇입니까? 내 응용 프로그램에서

<VideoView 
    android:id="@+id/videoview" 
    android:layout_width="fill_parent" 
    android:layout_height="300dp" 
    android:layout_below="@+id/rel_navbar"/> 

VideoView를 지켜 보면서

에 넣어.

private void seekbar() 
    { 
     Log.e("mnvalue is","<><."+minvalue); 
     Log.e("maxvalue is","<><>"+maxvalue); 
     // TODO Auto-generated method stub 
     seekBar = new RangeSeekBar<Integer>(minvalue, maxvalue,this); 
     layout.addView(seekBar); 
     seekBar.setOnRangeSeekBarChangeListener(new OnRangeSeekBarChangeListener<Integer>() 
        { 
         @Override 
         public void onRangeSeekBarValuesChanged(RangeSeekBar<?> bar, Integer minValue,Integer maxValue) 
         { 
          // TODO Auto-generated method stub 
          Log.e("minvalue is","<><><>"+minValue); 
          Log.e("maxvalue is","<><><>"+maxValue); 
          minvalue1=minValue; 
          maxvalue1=maxValue; 
          trim=1; 

          int videoposition1=videoview.getCurrentPosition(); 
          //int videoposition_1=videoposition1/1000; 
          Log.e("videopositopn is","<><>"+videoposition1); 
          videoview.seekTo(videoposition1); 

         } 
        }); 
    } 

그러나 위치를 드래그하면 동영상 위치가 움직이지 않는 것입니까? 내가 무엇을 할 수 있는지 말해주세요. 미리 감사 ..

답변

0
In RangeSeekbar class take two static int variables that is tempmin amd tempmax. 


public final void trackTouchEvent(MotionEvent event) { 
       final int pointerIndex = event.findPointerIndex(mActivePointerId); 
       final float x = event.getX(pointerIndex); 

       if (Thumb.MIN.equals(pressedThumb)) 
       { 
        Log.e("min value","minvalue"); 
        tempmin=1; 
        tempmax=0; 
        Log.e("tempmin is","<><>"+tempmin); 
        setNormalizedMinValue(screenToNormalized(x)); 
       } 
       else if (Thumb.MAX.equals(pressedThumb)) 
       { 
        Log.e("max value","maxvalue"); 
        tempmax=1; 
        tempmin=0; 
        Log.e("tempmax ix","<><>"+tempmax); 
        setNormalizedMaxValue(screenToNormalized(x)); 
       } 
     } 

In your Activity change the code as follows, 

Videovirewfortrim는 VideoView를 지켜 보면서의

에 refrence
videoviewfortrim.setOnPreparedListener(new OnPreparedListener() 
     { 
      @Override 
      public void onPrepared(MediaPlayer mp) 
      { 
       float minvalue=videoviewfortrim.getCurrentPosition(); 
       final float maxvalue=videoviewfortrim.getDuration(); 

       final RangeSeekBar<Float> seekbar = new RangeSeekBar<Float>(minvalue, maxvalue2,getParent()); 

         layout.addView(seekbar); 

         seekbar.setOnRangeSeekBarChangeListener(new OnRangeSeekBarChangeListener<Float>() 
        { 
          @Override 
          public void onRangeSeekBarValuesChanged(
            RangeSeekBar<?> bar, Float minValue, 
            Float maxValue) 
          { 

            if(RangeSeekBar.tempmin==1) 
           { 
            videoviewfortrim.seekTo((int) (minValue*1000)); 
            if(seekbar.isPressed()) 
            { 
             videoviewfortrim.pause(); 
             imgviewplay.setVisibility(View.VISIBLE); 
            } 
           } 
           else if(RangeSeekBar.tempmax==1) 
           { 
            videoviewfortrim.seekTo((int) (maxValue*1000)); 
            if(seekbar.isPressed()) 
            { 
             videoviewfortrim.pause(); 
             imgviewplay.setVisibility(View.VISIBLE); 
            } 
           } 
          } 
        } 
       } 
     } 
이다