Android开发之为按钮添加音效

来源:互联网 发布:珠宝玉石种类知乎 编辑:程序博客网 时间:2024/04/29 12:47

效果图:


1.layout布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/activity_background" >

    <TextView
        android:id="@+id/title_bar"
        android:layout_width="fill_parent"
        android:layout_height="45dip"
        android:layout_alignParentTop="true"
        android:gravity="center_vertical|center_horizontal"
        android:background="@drawable/theme_title_red"
        android:textSize="25dip"
        android:textColor="#fff"
        android:text="按键声测试"
        tools:context=".MainActivity" />
    <Button
        android:id="@+id/btn_test"
        android:layout_width="80dip"
        android:layout_height="30dip"
        android:layout_below="@+id/title_bar"
        android:layout_marginLeft="100dip"
        android:layout_marginTop="20dip"
        android:background="@drawable/bg_btn_submit_selecter"
        />

</RelativeLayout>



2.Activity文件:

package com.jun.activity;

import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
    public Button btn=null;
    private SoundPool sp;//声明一个SoundPool
    private int music;//定义一个整型用load();来设置suondID
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
    }

    private void init() {
        // TODO Auto-generated method stub
        btn=(Button) findViewById(R.id.btn_test);
        sp= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);//第一个参数为同时播放数据流的最大个数,第二数据流类型,第三为声音质量
        music = sp.load(this, R.raw.key_sound, 1); //把你的声音素材放到res/raw里,第2个参数即为资源文件,第3个为音乐的优先级
         
        btn.setOnClickListener(listener);
    }
private OnClickListener listener =new OnClickListener(){

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        sp.play(music, 1, 1, 0, 0, 1);
        
    }};
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}


3.点击提交按钮,就会自动播放, /src/raw文件夹下的key_sound.mp3音乐文件!!!!!
原创粉丝点击