簡體   English   中英

如何停止已經播放的聲音並立即開始播放

[英]How to stop already playing sound and immediately start another

當播放用戶先前選擇的聲音時,如何停止播放該聲音並立即播放新選擇的聲音? 到目前為止,我擁有的代碼只能停止新聲音,但是用戶必須再次選擇聲音才能播放。

public class MainActivity extends Activity {
    public MediaPlayer mediaPlayer = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button a = (Button) findViewById(R.id.First);
        a.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mediaPlayer == null) {
                    mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.firstsound);
                    mediaPlayer.stop();
                }
                else {
                    mediaPlayer.start();
                    mediaPlayer = null;
                }
            }
        }
        );
        Button b = (Button) findViewById(R.id.Second);
        b.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mediaPlayer == null) {
                    mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.secondsound);
                    mediaPlayer.stop();
                }
                else {
                    mediaPlayer.start();
                    mediaPlayer = null;
                }
            }
        }
        );

我正在制作具有30多種聲音的音板,如果有幫助的話。 我需要對代碼進行哪些更改(我認為是輕微的)? 任何幫助將不勝感激!

public class MainActivity extends Activity {

    public MediaPlayer mediaPlayer = null;
    public Boolean playing=false;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button a = (Button) findViewById(R.id.First);
        a.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                (playing)mediaPlayer.stop();
                mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.firstsound);
                mediaPlayer.start();
                            playing=true;
            }

        });

        Button b = (Button) findViewById(R.id.Second);
        b.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                (playing)mediaPlayer.stop();
                mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.firstsound);
                mediaPlayer.start();
                            playing=true;
            }
        });
    }
}

暫無
暫無

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

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