【问题标题】:How do I play sound on button click in android studio? [duplicate]如何在android studio中单击按钮播放声音? [复制]
【发布时间】:2014-12-19 17:32:35
【问题描述】:

我希望按下按钮时声音文件开始播放。我已经创建了原始文件夹并将 .wav 文件放在那里。问题是我不知道该怎么做。我在这里检查了类似的问题,但它们似乎没有解决我的问题。我该怎么办?提前谢谢你。

这是我的代码:

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Button;
import android.media.MediaPlayer;
import android.view.View.OnClickListener;    

public class MyActivity extends ActionBarActivity {    

int clicked= 0;

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

    //start


    //end

    final TextView text = (TextView) findViewById(R.id.textView);
    text.setText("Score: 0");

    final Button button = (Button) findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            clicked++;
text.setText("Score: " + clicked);    
        }
    });
        }


        @Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.my, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}
    }

这里是 xml 代码:

<ImageView
    android:layout_width="100dp"
    android:layout_height="173dp"
    android:id="@+id/imageView"
    android:background="@drawable/aidsv"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="70dp"
    android:adjustViewBounds="false" />

<Button
    android:layout_width="200dp"
    android:layout_height="29dp"
    android:text="Click me!"
    android:id="@+id/button"
    android:background="@drawable/redbottone"
    android:layout_marginTop="39dp"
    android:layout_below="@+id/imageView"
    android:layout_centerHorizontal="true" />

<TextView
    android:layout_width="120dp"
    android:layout_height="42dp"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Score: "
    android:id="@+id/textView"
    android:textColor="#FF0000"
    android:background="@drawable/sfondotempo"
    android:autoText="false"
    android:layout_below="@+id/button"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="39dp" />

【问题讨论】:

    标签: android button android-studio


    【解决方案1】:
            Log.v(TAG, "Initializing sounds...");
    
            final MediaPlayer mp = MediaPlayer.create(this, R.raw.sound);
    
            Button play_button = (Button)this.findViewById(R.id.button);
            play_button.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    Log.v(TAG, "Playing sound...");
                    mp.start();
                }
            });
    

    将你的声音放在 res/raw 文件夹中。

    【讨论】:

    • 我应该在哪里添加这段代码?
    • 你可以在 //start //end 标签之间的任何地方添加它
    • 是的,我试着把它放在那里,但它不起作用
    • 这里是屏幕:imgur.com/jw2fks1
    • 删除最后一行日志并删除将您的文件放在原始文件夹中,这是注释而不是代码:|
    猜你喜欢
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多