android - 如何播放音频并单击按钮显示textview

时间:2017-01-04 16:31:21

标签: java android audio

我是初学者。到目前为止,我创建了一个重要的应用程序。我创建了一个显示文本的按钮,但它也应该播放哨声。

我在下面显示了我的java代码。

/**
 * Displays the winning team.
 */


public void displayForWinner(String score) {
    TextView scoreView = (TextView) findViewById(R.id.textView);
    scoreView.setText(String.valueOf(score));
}

1 个答案:

答案 0 :(得分:1)

要播放短音效,请创建一个空的MediaPlayer对象:

MediaPlayer mMediaPlayer;

接下来,使用您的上下文和声音(将您的声音文件放在app / src / main / res / raw /下)为其分配MediaPlayer

mMediaPlayer = MediaPlayer.create(MyActivity.this,R.raw.whistle_sound);

最后,当您准备播放声音时,请致电:

mMediaPlayer.start();

<强> - 编辑 -

要在声音完成后更改文字,请使用:

public class MyActivity extends Activity {
    MediaPlayer mMediaPlayer;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_menu);
        mMediaPlayer = MediaPlayer.create(MyActivity.this,R.raw.whistle_sound);
    }
    public void displayForWinner(String score) {
        final String FinalScore = score;
        mMediaPlayer.start();
        mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mediaPlayer) {
                TextView scoreView = (TextView) findViewById(R.id.textView);
                scoreView.setText(String.valueOf(FinalScore));
            }
        });
    }
}  

另外,请考虑修剪音频片段以减少延迟。