Воспроизведение аудиофайла в определенное время

Ребята, я могу воспроизвести аудиофайл с помощью Mediaplayer. Но мне нужно воспроизвести аудиофайл в течение определенного времени.

Например: воспроизведение audio1.mp3 до 5 минут. Аудиофайл длится всего 10 секунд. Но он должен воспроизводиться до 5 минут.


person Goofy    schedule 14.03.2012    source источник


Ответы (1)


попробуй это

 mediaplayerplayer.setLooping(true);<--- this lets the audio to loop...

а это таймер обратного отсчета

MyCount counter;
Long s1;

counter= new MyCount(300000,1000);
counter.start();

public void asdf(View v){  <---- method for onclick of buttons pause and resuming timer
    switch(v.getId()){
        case R.id.button1:<-- for pause
            counter.cancel();
            break;
        case R.id.button2:<--- for resume
            counter= new MyCount(s1,1000);
            counter.start();
    }
}

public class MyCount extends CountDownTimer {
    public MyCount(long millisInFuture, long countDownInterval) {
        super(millisInFuture, countDownInterval);
    }

    @Override
    public void onFinish() {
        mediaplayer.stop();
        mediaplayer.release();
    }

    @Override
    public void onTick(long millisUntilFinished) {
        s1=millisUntilFinished;
    }
}

это также поможет вам приостановить медиаплеер ... вместе с таймером ... и позволит вам воспроизводить песню в течение полных 5 минут.

person 5hssba    schedule 14.03.2012
comment
счетчик = новый MyCount (300000,1000); счетчик.старт(); что это пожалуйста объясните - person Goofy; 14.03.2012
comment
это для 60 (секунд) * 5 (минут) * 1000 .. поскольку значение должно быть в миллисекундах ... счетчик начинается с этого значения до 1 секунды ... таймер обратного отсчета .. от 5 минут .. - person 5hssba; 14.03.2012
comment
но где мне запустить mediaplayer.start(); - person Goofy; 14.03.2012
comment
у вас есть свой медиаплеер, start(); в вашем коде... поэтому поставьте counter= new MyCount(300000,1000); counter.start();.. после этой строки... - person 5hssba; 14.03.2012
comment
setContentView(R.layout.main);mediaplyer,start();counter= new MyCount(300000,1000); счетчик.старт(); это нормально - person Goofy; 14.03.2012
comment
если у вас есть кнопка для воспроизведения и приостановки аудиоплеера.. тогда вместо моего метода asdf... после приостановки проигрывателя поставьте counter.cancel(); и после возобновления поместите эти строки кода counter= new MyCount(s1,1000); счетчик.старт(); - person 5hssba; 14.03.2012
comment
но когда я нажимаю кнопку возобновления, возобновляется только счетчик, как насчет воспроизведения медиаплеера? - person Goofy; 14.03.2012
comment
когда вы делаете паузу, используйте mediaplayer.pause(); а для возобновления работы проигрывателя используйте mediaplayer.start(); - person 5hssba; 14.03.2012
comment
спасибо, все работает нормально ... не могли бы вы помочь мне и с другими вещами - person Goofy; 14.03.2012