Запуск потока на несколько секунд

Я использую экземпляр медиаплеера для воспроизведения музыкального файла. Я хочу воспроизвести песню в течение определенного времени, а затем остановить воспроизведение. Я использую поток с уменьшением счетчика, но почему-то это не работает должным образом.


person Vin99999    schedule 13.04.2012    source источник
comment
Можем ли мы увидеть (некоторые) код?   -  person mfrankli    schedule 13.04.2012
comment
Спасибо Люди. Я получил это в ответах.   -  person Vin99999    schedule 13.04.2012


Ответы (2)


вы должны использовать обработчик для этого

попробуй это

in your onCreate use this 

  //start media player
  mp.start();


  mTimer.sendMessageDelayed(new Message(),5*10000);

создайте класс в своем классе активности как

    private MusicTimer mTimer = new MusicTimer();

    private class MusicTimer extends Handler
    {
       @Override
       handleMessage(Message msg)
       {
           onTimerExpire();
       }  



        public void onTimerExpire()
        {
           //stop player here
        }

}

сделать переменную-член объекта медиаплеера, это будет воспроизводиться в течение пяти секунд, а затем остановить это

person vipin    schedule 13.04.2012

это то, что вы можете сделать.. Играйте с медиаплеером в обычном режиме и в то же время инициализируйте handler и вызовите его postDelayed с нужным интервалом... и внутри него остановите проигрыватель MEdia.. Что-то вроде этого..

new Handler().postDelayed(new Runnable(){

//stop playing
}, 400);
person ngesh    schedule 13.04.2012