簡體   English   中英

如何在Android中為MediaPlayer設置計時器?

[英]How to set a timer for MediaPlayer in Android?

我正在開發一個手機取景器應用程序,我想實現遠程振鈴功能......我已經為MediaPlayer編寫了一個代碼,但是當我測試它時,鬧鍾不停地響鈴(可能是鬧鍾響起的時間)太長了,但我想讓它在特定時期內響起)...我希望設置鬧鍾響鈴的定時器就像讓我們說響10秒,但不知道如何實現它...需要幫助來自你們......謝謝......

    MediaPlayer mp = new MediaPlayer();
    mp = MediaPlayer.create(RingerActivity.this, R.raw.alarm);
    try {
        mp.prepare();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (Exception e) {
        Toast.makeText(this, e.getMessage() , Toast.LENGTH_SHORT).show();         }
    mp.start();

    mp.setOnCompletionListener(new OnCompletionListener() {
        public void onCompletion(MediaPlayer mp) {
            mp.release();
        }
    });

您可以使用Runnable和Handler在10秒后停止MediaPlayer。

Handler h = new Handler();
Runnable stopPlaybackRun = new Runnable() {
    public void run(){
        mp.stop();
        mp.release();
    }    
};
h.postDelayed(stopPlaybackRun, 10 * 1000);

Android的

計時器中的媒體播放器

MediaPlayer buzzer; //Outside the method
public void BuzzerSound(){
buzzer=MediaPlayer.create(MainActivity.this, R.raw.buzzer_sound);
Thread timer= new Thread(){
    public void run(){
     try{
         buzzer.start();
         buzzer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            public void onCompletion(MediaPlayer mp) {
                mp.release();
                }
            });
        }catch(Exception e){
         e.printStackTrace();
            }
     }
    };
    timer.start(); } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM