简体   繁体   English

Android Studio 停止声音

[英]Android Studio Stop Sound

thats my first question here.这是我的第一个问题。 I hope i get a solution.我希望我得到一个解决方案。 I coded a soundboard app and i want that if i click the button a sound play.我编写了一个音板应用程序,如果我点击按钮,我想要一个声音播放。 i got that easily.我很容易做到。 the next point is that i want to if i click another button the other sound stop .下一点是,如果我单击另一个按钮,另一个声音就会停止 i hope you understand.我希望你明白。 i tried a lot with .stop or .pause...我用 .stop 或 .pause 尝试了很多...

thats my java code on this page:这就是我在此页面上的 Java 代码:


import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;

public class Fragment1 extends Fragment {

    public void stop(){

    }


    Button btone1,btone2,btone3,btone4,btone5,btone6,btone7,btone8,btone9,btone10,btone11,btone12;

    @Nullable
   @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment1_layout,container, false);




        btone1 = (Button) rootView.findViewById(R.id.btone1);
        final MediaPlayer mpone1 = MediaPlayer.create(getActivity(), R.raw.sone1);
        btone1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mpone1.start();
            }
        });
        


        btone2 = (Button) rootView.findViewById(R.id.btone2);
        final MediaPlayer mpone2 = MediaPlayer.create(getActivity(), R.raw.sone2);
        btone2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mpone2.start();
            }
        });


        btone3 = (Button) rootView.findViewById(R.id.btone3);
        final MediaPlayer mpone3 = MediaPlayer.create(getActivity(), R.raw.sone2);
        btone3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mpone3.start();
            }
        });


        btone4 = (Button) rootView.findViewById(R.id.btone4);
        final MediaPlayer mpone4 = MediaPlayer.create(getActivity(), R.raw.sone1);
        btone4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mpone4.start();
            }
        });


        btone5 = (Button) rootView.findViewById(R.id.btone5);
        final MediaPlayer mpone5 = MediaPlayer.create(getActivity(), R.raw.sone1);
        btone5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mpone5.start();
            }
        });


        btone6 = (Button) rootView.findViewById(R.id.btone6);
        final MediaPlayer mpone6 = MediaPlayer.create(getActivity(), R.raw.sone1);
        btone6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mpone6.start();
            }
        });


        btone7 = (Button) rootView.findViewById(R.id.btone7);
        final MediaPlayer mpone7 = MediaPlayer.create(getActivity(), R.raw.sone1);
        btone7.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mpone7.start();
            }
        });


        btone8 = (Button) rootView.findViewById(R.id.btone8);
        final MediaPlayer mpone8 = MediaPlayer.create(getActivity(), R.raw.sone1);
        btone8.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mpone8.start();
            }
        });


        btone9 = (Button) rootView.findViewById(R.id.btone9);
        final MediaPlayer mpone9 = MediaPlayer.create(getActivity(), R.raw.sone1);
        btone9.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mpone9.start();
            }
        });


        btone10 = (Button) rootView.findViewById(R.id.btone10);
        final MediaPlayer mpone10 = MediaPlayer.create(getActivity(), R.raw.sone1);
        btone10.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mpone10.start();
            }
        });


        btone11 = (Button) rootView.findViewById(R.id.btone11);
        final MediaPlayer mpone11 = MediaPlayer.create(getActivity(), R.raw.sone1);
        btone11.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mpone11.start();
            }
        });

        btone12 = (Button) rootView.findViewById(R.id.btone12);
        final MediaPlayer mpone12 = MediaPlayer.create(getActivity(), R.raw.sone1);
        btone12.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mpone12.start();
            }
        });

        ////




        return rootView;



        }


    }

Use a single MediaPlayer object instead of creating multiple ones使用单个 MediaPlayer 对象而不是创建多个对象

then stop using this code然后停止使用此代码

private void stopPlaying() {
        if (mp != null) {
            mp.stop();
            mp.release();
            mp = null;
       }
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM