0

アニメーション、音、バイブレーションの3つの機能があります。これらはすべて、個別に完全に正常に機能します。これら3つの機能をすべて一緒に開始し、3秒間再生を続けてから、停止する必要があります。15秒ごとにこれを繰り返したい。これを実装するための正しいアプローチは何でしょうか?私のバイブレーションコードは次のとおりです

public void vibration(){            
int dash = 1000;    
int medium_gap = 500;

long[] pattern = { 0,  // Start immediately
    dash, medium_gap,dash , medium_gap
};
// Only perform this pattern one time (-1 means "do not repeat")
v.vibrate(pattern, -1);

}

アニメーションコード:

linear = (LinearLayout) findViewById(R.id.lay);// this line is after setContentView in onCreate

public void anim(){    
    drawable.addFrame(new ColorDrawable(Color.RED), 1000);  
    drawable.addFrame(new ColorDrawable(Color.WHITE), 500);         
    drawable.setOneShot(false);     
    linear.setBackgroundDrawable(drawable);         
    drawable.start();     
 }

サウンドプールを使用したサウンド:

sp = new SoundPool(5, AudioManager.STREAM_NOTIFICATION, 0);
buzzer = sp.load(this, R.raw.buzzer, 0);
public void sound(){
    sp.play(buzzer, 1,1, 0, 0, 1); //start alert tone
}
4

1 に答える 1

0

指定された時間だけ一緒に実行するスレッドを実装する必要があります。

Thread myTime = new Thread()
{
      void run(){
           sleep(3000) //sleep untill 3 sec than stop 
           //your code
      }
}
于 2013-08-15T17:41:51.700 に答える