3

如何播放音频并等待完成以再次播放?. 在这个我可以玩很多时间:D

    ivSelect.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            // Toast.makeText(context, "Hello", 1000).show();
            mMediaPlayer = MediaPlayer.create(context, sound);

            if (mMediaPlayer.isPlaying() == false) {
                mMediaPlayer.start();
                mMediaPlayer
                        .setOnCompletionListener(new OnCompletionListener() {
                            public void onCompletion(MediaPlayer mp) {
                                mp.release();

                            };
                        });
            }

        }
    });
4

2 回答 2

4

每次单击按钮时,代码都可以正常工作。如果您希望音频自动重复,请使用

 mMediaPlayer.setLooping(true); 

如果您希望当 Ist 声音完全播放时,第二个应该从单击按钮开始,尝试在第一个声音播放时禁用您的按钮单击,然后启用单击 onCompleteListener ... 类似这样的事情:

ivSelect.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        // Toast.makeText(context, "Hello", 1000).show();
        mMediaPlayer = MediaPlayer.create(context, sound);
ivSelect.setClickable(false); //Disabling the button click
 mMediaPlayer.start();
}

启用单击音频完成

mMediaPlayer.setOnCompletionListener(new OnCompletionListener() 
                    {
                        @Override
                        public void onCompletion(MediaPlayer mp)
                        {
                            ivSelect.setClickable(true);

                        }
                    });
于 2013-10-07T08:13:59.983 回答
0

尝试这个

if(mMediaPlayer.isPlaying()){
mMediaPlayer.stop();
mMediaPlayer.release();
}
于 2013-10-07T08:32:07.590 回答