2011-12-28 13 views
3

私はアプリでVideoViewには問題はありませんが、非常に面倒です。ビデオは光センサ値に基づいて再生されます。私が欲しいものVideoViewを特定の位置にシークできない - Android

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でムービーの正しい位置をシークすることです:

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機能:だから私は定義されてしまっています。私はvideoView.start()の前後に配置しようとしましたが、何も動作しません。最初から開始するたびにplay1とplay2は正しい値を示します。

まだ間違っていることを教えてください。それは静的な値でさえも働かない。

ありがとうございます。

+0

は、あなたがこれを 解決しましたか? – Slartibartfast

+0

@Slartibartfastいいえ、私はこれを解決しませんでした。 – sebap123

答えて

0

あなたのシークバーの進捗状況変化にそれを入れて、このコードを試してみてください
videoPosition = videoView.getCurrentPosition() + yourSeekBarProgress; videoView.seekTo(videoPosition); videoView.start();

+0

私はシークバーを持っていないし、それなしではうまくいきます。面白いことは、機能を開始してseektoを入れる前に、私の光センサーがすべてうまく動作すると判断したことです。 – sebap123

関連する問題