簡體   English   中英

如何在 Android Studio 中添加多個聲音按鈕?

[英]How to add multiple sound buttons in Android Studio?

我正在嘗試用他們最喜歡的模因聲音為我的朋友制作一個簡單有趣的聲音應用程序。 這顯然意味着我必須添加多個按鈕並將它們設置為播放聲音。 我使用本教程制作了一個播放放屁聲的按鈕。 我計划制作一個新的 java class 並使用相同的代碼但更改它以適應新的噪音並添加一個新按鈕。 當我添加第一個按鈕時,我做了我所做的一切,但由於某種原因,第二個按鈕不起作用。 我試過查看其他 StackOverflow 問題和教程,但似乎都沒有。 這是我的 MainActivity.java class 代碼:


    package com.example.app;

    import androidx.appcompat.app.AppCompatActivity;

    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;

    import android.media.MediaPlayer;

    public class MainActivity extends AppCompatActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);


            final MediaPlayer FartSoundMP = MediaPlayer.create(this, R.raw.fartsound);

            Button playfart = (Button) this.findViewById(R.id.playfart);

            playfart.setOnClickListener(new View.OnClickListener() {

                public void onClick(View v) {

                    FartSoundMP.start();

                }


            });





            }

這是我的 SecondActivity.java class 代碼:


    package com.example.app;

    import androidx.appcompat.app.AppCompatActivity;


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

    public class SecondActivity extends AppCompatActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);


            final MediaPlayer cryMp = MediaPlayer.create(this, R.raw.cry);

            Button playcry =  (Button) this.findViewById(R.id.playcry);

            playcry.setOnClickListener(new View.OnClickListener() {

                public void onClick(View v) {

                    cryMp.start();

                }


            });





        }}


這是我的 XML 布局代碼:


    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity"
        >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Below are Cool Noises!"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.262" />

        <Button
            android:id="@+id/playfart"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_marginStart="8dp"
            android:layout_marginLeft="8dp"


            android:layout_marginEnd="8dp"
            android:layout_marginRight="8dp"
            android:layout_marginBottom="264dp"
            android:text="Fart"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.482"
            app:layout_constraintStart_toStartOf="parent" />

        <Button
            android:id="@+id/playcry"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_marginStart="8dp"
            android:layout_marginLeft="8dp"


            android:layout_marginEnd="8dp"
            android:layout_marginRight="8dp"
            android:layout_marginBottom="188dp"
            android:text="Cry"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintHorizontal_bias="0.482"
            />

    </androidx.constraintlayout.widget.ConstraintLayout>

這是我的 strings.xml 文件:



    <resources>
        <string name="app_name">App</string>

        <string name="playfart"> Fart</string>
        <string name="playcry"> Cry </string>
    </resources>

兄弟,如果你想移動到另一個屏幕(通常有另一個布局),你只需要創建另一個活動。 這似乎不是您想要的,因為您只有一種布局。 你應該這樣做:

 package com.example.app;

    import androidx.appcompat.app.AppCompatActivity;

    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;

    import android.media.MediaPlayer;

    public class MainActivity extends AppCompatActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);


            final MediaPlayer FartSoundMP = MediaPlayer.create(this, R.raw.fartsound);
            final MediaPlayer cryMp = MediaPlayer.create(this, R.raw.cry);

            Button playfart = (Button) this.findViewById(R.id.playfart);
            Button playcry =  (Button) this.findViewById(R.id.playcry);

            playfart.setOnClickListener(new View.OnClickListener() {

                public void onClick(View v) {

                    FartSoundMP.start();

                }


            });


            playcry.setOnClickListener(new View.OnClickListener() {

                public void onClick(View v) {

                    cryMp.start();

                }


            });


            }

您不需要創建SecondActivity


    package com.example.app;

    import androidx.appcompat.app.AppCompatActivity;

    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;

    import android.media.MediaPlayer;

    public class MainActivity extends AppCompatActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);


            final MediaPlayer FartSoundMP = MediaPlayer.create(this, R.raw.fartsound);

            Button playfart = (Button) this.findViewById(R.id.playfart);

            playfart.setOnClickListener(new View.OnClickListener() {

                public void onClick(View v) {

                    FartSoundMP.start();

                }

             });

            final MediaPlayer cryMp = MediaPlayer.create(this, R.raw.cry);

            Button playcry =  (Button) this.findViewById(R.id.playcry);

            playcry.setOnClickListener(new View.OnClickListener() {

                public void onClick(View v) {

                    cryMp.start();

                }


            });


            }

     }

暫無
暫無

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

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