1

I am creating an Android app that needs to play an audio when a button is pressed. But it does not play the music although the rest of the code functions.Also there is an error on context that says context cannot be resolved to a variable.

Here is my main activity

public class BroadcastNewSms extends Activity {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.androidexample_broadcast_newsms);
        Button b1;
        b1 = (Button) findViewById(R.id.button1);

        b1.setOnClickListener(new OnClickListener()

        {



        public void onClick(View v)

        {



            MediaPlayer mp;
            mp = MediaPlayer.create(context,R.raw.hospital_alarm);

            mp.start();

             String phoneNumber = "+9198zxxxxxxx";

            String message = "Ambulance sent!";



            SmsManager smsManager = SmsManager.getDefault();

            smsManager.sendTextMessage(phoneNumber, null, message, null, null);



        }
        });




    }
}
Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
user3359953
  • 47
  • 1
  • 8

2 Answers2

1

Instead of context try getApplicationContext() method

public class BroadcastNewSms extends Activity 
{
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.androidexample_broadcast_newsms);
        Button b1;
        b1 = (Button) findViewById(R.id.button1);
        b1.setOnClickListener(new OnClickListener()
        {
            public void onClick(View v)
            {
                MediaPlayer mp;
                mp = MediaPlayer.create(getApplicationContext(),R.raw.hospital_alarm);
                mp.start();
                String phoneNumber = "+9198989898";    
                String message = "Ambulance sent!";
                SmsManager smsManager = SmsManager.getDefault();
                smsManager.sendTextMessage(phoneNumber, null, message, null, null);
            }
        });
    }
}
Lucifer
  • 29,392
  • 25
  • 90
  • 143
0

check it here How to play the audio files directly from res/raw folder?

int resID=context.getResources().getIdentifier(Name_of_file, "raw", getPackageName());
MediaPlayer mediaPlayer=MediaPlayer.create(this,resID);
mediaPlayer.start();
Community
  • 1
  • 1
vs.thaakur
  • 619
  • 3
  • 13