如何使用MediaPlayer类重复x次的特定歌曲

Sai*_*Sai 0 android repeat media-player

我的代码就是这个

        bv.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if(mp.isPlaying()){
                mp.pause();
                bv.setImageResource(R.drawable.playzz);
            } else {
                bv.setImageResource(R.drawable.pausezz);
                for (int i=1; i<=10 ; i++){
                mp.start();
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

我想重复一首歌只有10次.我用于循环,但声音只播放一次并停止.知道如何做到这一点?提前致谢.

Die*_*ano 6

你应该在一个单独的线程中这样做(假设mp是一个字段):

        mp.setOnCompletionListener(new OnCompletionListener() {

            int n = 0;

            @Override
            public void onCompletion(MediaPlayer mp) {
                if (n < 10) {
                    mp.start();
                    n++;
                }
            }
        });
        mp.start();
Run Code Online (Sandbox Code Playgroud)

while(mp.isPlaying());
Run Code Online (Sandbox Code Playgroud)

会占用你的CPU.