2011-12-28 21 views
3

我在我的應用程序中有VideoView很小但非常惱人的問題。視頻根據光線傳感器值進行播放。所以,我有定義:不能使VideoView尋求某些位置 - Android

public void onSensorChanged(SensorEvent sensorEvent) { 
    lightInfo = (TextView)findViewById(R.id.lightInfo); 
    float light = sensorEvent.values[0]; 
    String fl = Float.toString(light); 
    lightInfo.setText(fl); 
    if(light<=60.0f) 
    { 
     playOpera = true; 
     Integer pos3 = position; 
     Toast.makeText(SensorMobCVActivity.this, "play1-sensor: "+pos3.toString(), 1000).show(); 
     playVideo(); 
    } 
    else 
    { 
     playOpera = false; 
     if(videoView.getCurrentPosition()>0) 
     { 
      position = videoView.getCurrentPosition(); 
     } 
     Integer pos = position; 
     Toast.makeText(SensorMobCVActivity.this, "stop1-sensor: "+pos.toString(), 1000).show(); 
     videoView.stopPlayback(); 
     Toast.makeText(SensorMobCVActivity.this, "turn off the light", 1000).show(); 
    } 
} 

而且調用playVideo功能:

protected void playVideo() { 
    videoView.setVideoURI(video); 
    if (position<=videoView.getDuration()) 
    { 
     position = 0; 
    } 
    videoView.seekTo(position); 
    Integer pos4 = position; 
    Toast.makeText(SensorMobCVActivity.this, "play2-sensor: "+pos4.toString(), 1000).show(); 
    Toast.makeText(SensorMobCVActivity.this, "Play", 1000).show(); 
    videoView.start(); 
} 

我想要什麼,我不能得到的是尋求電影中的playVideo正確的位置。我試圖把它放在videoView.start()之前和之後,沒有任何工作。每次它從頭開始,然而play1和play2顯示正確的值。

那麼請告訴我它還存在什麼問題?它甚至在靜態值上也不起作用。

預先感謝您。

+0

你解決這個問題? – Slartibartfast 2012-10-17 05:59:18

+0

@Slartibartfast不,我沒有解決這個問題。 – sebap123 2012-10-23 09:29:29

回答

0

試試這個代碼,把它放在你的搜索條的進展變化
videoPosition = videoView.getCurrentPosition() + yourSeekBarProgress; videoView.seekTo(videoPosition); videoView.start();

+0

事情是,我沒有任何seekbar,它沒有它的工作良好。有趣的是,在我開始並尋求功能確定之前,我的光傳感器一切正常。 – sebap123 2011-12-28 12:47:02