1

我有几个媒体播放器设置为在单击按钮时一个接一个地播放,但是播放的媒体播放器之间存在明显的差距,即。一旦 mediaplayer one 完成,在 mediaplayer two 播放前半秒,我使用 mediaplayers 的目的是因为音频中的差距非常明显,所以我要问的是,有没有办法消除这种差距. 现在我不知道每次使用不同的媒体播放器是否会出错,但这是我迄今为止想出的。基本上我有onCompleteionListeners每个媒体播放器,在这些媒体播放器中,我有下一个媒体播放器播放,直到最后一个。任何指针将不胜感激。

        public void onClick(View v) {
            mpButtonThree = MediaPlayer.create(MainActivity.this, R.raw.audioReplay);
            if (mpButtonThree==null){
                //display a Toast message here

                return;
         }
            mpButtonThree.start();
            mpButtonThree.setOnCompletionListener(new OnCompletionListener() {
                public void onCompletion(MediaPlayer mpButtonThree) {
                    mpButtonThree.release();
            mpButtonOne = MediaPlayer.create(MainActivity.this, audioReplayPrimary);

            if (mpButtonOne==null){
                //display a Toast message here

                return;
         }
            mpButtonOne.start();
            mpButtonOne.setOnCompletionListener(new OnCompletionListener() {
                public void onCompletion(MediaPlayer mpButtonOne) {
                    mpButtonOne.release();
                    mpButtonTwo = MediaPlayer.create(MainActivity.this, audioReplaySecondary);
                 if (mpButtonTwo==null){
                        //display a Toast message here

                        return;
                 }
                 mpButtonTwo.start();
                 mpButtonTwo.setOnCompletionListener(new soundListener1()
                {
                });
        }
4

1 回答 1

0

如果您连续播放文件,则可以使用单个媒体播放器对象。创建播放下一个媒体文件并将其放入 OnCompletion 的函数。这应该消除播放之间的差距,因为您不必每次都发布和创建媒体播放器

于 2013-09-13T05:33:36.563 回答