Android:试图让按钮播放音频,但在使用create(context,int)时出错

Android:试图让按钮播放音频,但在使用create(context,int)时出错,android,media-player,Android,Media Player,我正在制作一个应用程序,当按下按钮时会发出噪音,我的res/raw目录中存储了audio.mp3文件,但是我的create下有一个错误。它表示“MediaPlayer类型中的方法create(Context,int)不适用于参数(new View.OnClickListener(){},int)” 我的代码如下所示 import android.media.MediaPlayer; private MediaPlayer mp; but_play = (Button)

我正在制作一个应用程序,当按下按钮时会发出噪音,我的res/raw目录中存储了audio.mp3文件,但是我的create下有一个错误。它表示“MediaPlayer类型中的方法create(Context,int)不适用于参数(new View.OnClickListener(){},int)”

我的代码如下所示

import android.media.MediaPlayer;

private MediaPlayer mp;




        but_play = (Button)  findViewById(R.id.play_but);



    but_play.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {


            if (rot < 45 && rot > -45) {
                Toast.makeText(getApplicationContext(),
                        "the Cow says moo!",
                        Toast.LENGTH_SHORT).show();
                mp = MediaPlayer.create(this, R.raw.cow);
                mp.start();
导入android.media.MediaPlayer;
私人媒体播放器;
但是播放=(按钮)findviewbyd(R.id.play\u but);
但是_play.setOnClickListener(newview.OnClickListener()){
公共void onClick(视图arg0){
如果(rot<45&&rot>-45){
Toast.makeText(getApplicationContext(),
“母牛咕咕叫!”,
吐司。长度(短)。show();
mp=MediaPlayer.create(this,R.raw.cow);
mp.start();
否则,如果其他动物的陈述从这里继续


请帮助!!

在这一行中,您要传递的
this
此时是对
视图的引用。一旦单击Listener
,它需要的是
上下文

mp = MediaPlayer.create(this, R.raw.cow);
尝试将其更改为:

mp = MediaPlayer.create(getApplicationContext(), R.raw.cow);