0

電話検索アプリを開発していて、リモート呼び出し機能を実装したいのですが... 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();
        }
    });
4

2 に答える 2

2

Runnable と Handler を使用して、10 秒後に MediaPlayer を停止できます。

Handler h = new Handler();
Runnable stopPlaybackRun = new Runnable() {
    public void run(){
        mp.stop();
        mp.release();
    }    
};
h.postDelayed(stopPlaybackRun, 10 * 1000);
于 2012-11-09T04:24:28.273 に答える