【问题标题】:How to add soundButton(on&off) on a activity in android apps?如何在 Android 应用程序的活动上添加声音按钮(开/关)?
【发布时间】:2013-08-07 14:40:38
【问题描述】:

我已经创建了一个分支活动。现在我想在该分支活动上添加两个按钮。 当我点击“声音开启”按钮时,我的哔声开始,当我点击“声音关闭”时,我的哔声关闭。而且它们同时隐藏。

谢谢

我的活动代码

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.sound_layout);





    soundBttnOn =(Button) findViewById(R.id.soundBttnOn);
    soundBttnOn.setOnClickListener(
            new OnClickListener(){
                @Override
                public void onClick(View v) {
                    startMediaPlayer();
                }
            }
        );

    soundBttnoff =(Button) findViewById(R.id.soundBttnOff);
    soundBttnoff.setOnClickListener(
            new OnClickListener(){ 
                @Override
                public void onClick(View v) {
                    stopMediaPlayer();
                }
            }
        );
    }

     private void startMediaPlayer() {
        mediaPlayer = MediaPlayer.create(SoundLayout.this,R.raw.keybutton5);
        mediaPlayer.start();
    }

    private void stopMediaPlayer() {
        if( mediaPlayer != null ) {
            MediaPlayer mp = null;
            mp.stop();
            mp.release();
        }
    }

它显示没有问题,但它也不起作用..:P..我无法实现声音。

【问题讨论】:

  • 你试过了吗?
  • 是的,我在 xml 文件上创建了两个按钮。并试图在我的活动中添加它。但我卡住了。不知道继续。因为我想用那个按钮关闭电话声音,所以我没有任何声音可以添加到原始文件中。

标签: android button audio android-activity


【解决方案1】:

您可以通过简单的谷歌搜索来找到大量添加按钮的示例。但是,要播放声音文件,请查看 MediaPlayer 类。

Button startBtn, stopBtn;
//get the reference of Button
....

final MediaPlayer mp = new MediaPlayer();
startBtn.onClickListener() {
    public void onClick(View v) {
        try {
            mp.setDataSource(path+"/"+audio.mp3);
            mp.prepare();
            mp.start();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
};  

stopBtn.onClickListener() {
     public void onClick(View v) {      
        if(mp.isPlaying()) {
                    mp.stop();
                    //hide buttons
                    stopBtn.setVisibiltiy(View.GONE);
                    startBtn.setVisibility(View.GONE);
        }   
     }
};

PS:只有开和关,不需要两个按钮,一个按钮就可以了。

编辑:

对于单个按钮,只需使用媒体播放器的播放状态来决定按钮点击的动作。

singleBtn.onClickListener() {
    public void onClick(View v) {
        try {
            if(mp.isPlaying()) mp.stop();
            else {
                mp.setDataSource(path+"/"+audio.mp3);
                mp.prepare();
                mp.start();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
};  

【讨论】:

  • 好的,我正在考虑你的建议。我想添加一个按钮。所以当我点击那个按钮时声音开启带有味精(声音开启)当我点击同一个按钮时**声音关闭**与消息(声音关闭)。但我也无法实现它..:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-01
  • 1970-01-01
  • 2015-08-29
  • 1970-01-01
相关资源
最近更新 更多