5毫秒后调用方法

ned*_*oid 13 android record delay playing

如何在使用MediaPlayer播放音频5毫秒后调用记录方法.我尝试了类似的东西,但我不知道,我没有找到任何好的例子来结束这个.

while(mp.isPlaying()){
    if(record=0){
       for(int i=0; i<5millisec; i++){ //how to define 5 millisec or is any better solution
       }
    startRecord();
    record=1;
    }
}
mp.stop();
mp.release();
mp=null;   
Run Code Online (Sandbox Code Playgroud)

Mr.*_*.Me 46

5毫秒是一个非常短的时间段,您不能将音频输出限制为这样的持续时间.您可以使用它Handler来执行延迟函数,但它不能确保在调度后5毫秒执行.这样做的代码:

Handler handler = new Handler();
handler.postDelayed(new Runnable(){
@Override
      public void run(){
        startRecord();
        mp.stop();
        mp.release();
   }
}, 5);
Run Code Online (Sandbox Code Playgroud)


lpm*_*lho 7

您可以使用postDelayed方法.在下面的例子中,我运行我的例程100毫秒后调用该方法.

new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        barVolume.setProgress(audioManager.getStreamVolume(AudioManager.STREAM_MUSIC));
                    }
                }, 
                100);
Run Code Online (Sandbox Code Playgroud)