php如何点击按钮播放声音,audio - 按钮上的播放声音单击android

这是原帖中提供的代码中最重要的部分。

Button one = (Button) this.findViewById(R.id.button1);

final MediaPlayer mp = MediaPlayer.create(this, R.raw.soho);

one.setOnClickListener(new OnClickListener(){

public void onClick(View v) {

mp.start();

}

});

逐步解释:

Button one = (Button) this.findViewById(R.id.button1);

首先是用于播放声音的按钮的初始化。 我们使用Activity的Fragment,传递我们分配给它的Id(在本例中为Fragment),以获取我们需要的按钮。 我们将其转换为Activity,以便将其分配给我们正在初始化的变量one。 解释更多如何工作超出了这个答案的范围。 这简要介绍了它的工作原理。

final MediaPlayer mp = MediaPlayer.create(this, R.raw.soho);

这是初始化Fragment的方法.MediaPlayer遵循静态工厂方法设计模式。 为了获得一个实例,我们调用它的Fragment方法,并将它传递给我们想要播放的声音的上下文和资源ID,在本例中为Fragment.我们将其声明为Activity.Jon Skeet提供了一个很好的解释,为什么我们这样做。

one.setOnClickListener(new OnClickListener(){

public void onClick(View v) {

//code

}

});

最后,我们设置我们之前初始化的按钮将执行的操作。 点击按钮播放声音! 为此,我们设置了Fragment的按钮Fragment。内部只有一种方法,Activity,其中包含按钮在单击时应执行的操作。

public void onClick(View v) {

mp.start();

}

要播放声音,我们称之为MediaPlayer的Fragment方法。 此方法开始播放声音。

在那里,你现在可以在Android按钮点击播放声音了!

奖金部分:

正如下面的评论中所述,感谢Langusten Gustel!并且根据Android Developer Reference中的建议,重要的是调用Fragment方法来释放将不再使用的资源。 通常,一旦要播放的声音完成播放就完成。 为此,我们将Fragment添加到Fragment,如下所示:

mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

public void onCompletion(MediaPlayer mp) {

//code

}

});

在Fragment方法中,我们将其发布如下:

public void onCompletion(MediaPlayer mp) {

mp.release();

}

显然有更好的方法来实现这一点。 例如,您可以将MediaPlayer设置为类变量,并将其生命周期与使用它的Fragment或Activity的生命周期一起处理。 但是,这是另一个问题的主题。 为了保持这个答案的范围很小,我写这篇文章只是为了说明如何在Android按钮点击时播放声音。

原帖

第一。 您应该将语句放在一个块中,在本例中是onCreate方法。

第二。 您将按钮初始化为变量1,然后使用变量零并将其onClickListener设置为不完整的onClickListener。 使用变量one作为setOnClickListener。

第三,把逻辑放在onClick里面播放声音。

综上所述:

import android.app.Activity;

import android.media.MediaPlayer;

import android.os.Bundle;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class BasicScreenActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_basic_screen);

Button one = (Button)this.findViewById(R.id.button1);

final MediaPlayer mp = MediaPlayer.create(this, R.raw.soho);

one.setOnClickListener(new OnClickListener(){

public void onClick(View v) {

mp.start();

}

});

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值