0

i has to develop an android application . It allow the user to mute or unmute the background music. If the user had presses on the mute button, when the activity is intent to next activity, it background music also should be in mute mode. i had refer to this mute just the background music of my app , but still face some problem. This is my first activity.

public class MainActivity extends Activity implements OnClickListener {

MediaPlayer mp;
Button button1;
Button button2;
ImageButton speaker, mute;
private Context mContext = this;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    speaker = (ImageButton) findViewById(R.id.speaker);
    mute = (ImageButton) findViewById(R.id.mute);
    mute.setVisibility(View.INVISIBLE);

    if (mp != null) {
        mp.release();
        mp = null;
    }
    mp = MediaPlayer.create(MainActivity.this,R.raw.bg_music);
    mp.start();
    mp.setLooping(true);
    addListenerOnButton();
}


public void addListenerOnButton() {

    final Context context = this;

    button1 = (Button) findViewById(R.id.level);
    button2 = (Button) findViewById(R.id.kategori);

    button1.setOnClickListener(new OnClickListener() {

            public void onClick(View arg0) {

            Intent intent = new Intent(context, Tahap.class);
                        startActivity(intent);   
            }
    });


    button2.setOnClickListener(new OnClickListener() {

        public void onClick(View arg0) {

        Intent intent = new Intent(context, KategoriSenang.class);
                   startActivity(intent);
        }
    });

    speaker.setOnClickListener(new OnClickListener() {

        public void onClick(View arg0) {

          mp.pause();
          speaker.setVisibility(View.INVISIBLE);
          mute.setVisibility(View.VISIBLE);

          SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
          Editor editor = prefs.edit(); 
          editor.putBoolean("isMuted", true); 
          editor.commit(); 

        }
    });

    mute.setOnClickListener(new OnClickListener() {

        public void onClick(View arg0) {

          mp.start();
          mute.setVisibility(View.INVISIBLE);
          speaker.setVisibility(View.VISIBLE);


          SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
          Editor editor = prefs.edit(); 
          editor.putBoolean("isMuted", false); 
          editor.commit(); 

        }
    });
}

Then the second activity to retrieve the value from sharedpreferences

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tahap);

    mp = MediaPlayer.create(Tahap.this,R.raw.bg_music);

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    boolean isMuted = prefs.getBoolean("isMuted", false);
    if (isMuted=true){
        //mp.stop();
        mute.setVisibility(View.VISIBLE);
        speaker.setVisibility(View.INVISIBLE);
    }
    else{
        mute.setVisibility(View.INVISIBLE);
        speaker.setVisibility(View.VISIBLE);
        mp.start();
    }

the application has stopped unexpectedly.

here is the logcat

04-12 01:55:13.803: D/JpgDecHal(6002): JpgDecHal::JpgDecHal 04-12 01:55:13.803: W/JpegDecDriver(6002): Open JPEG Driver Error (Permission denied) 04-12 01:55:13.803: W/JpgDecHal(6002): [JPEG Decoder] - Jpeg decoder resource is busy 04-12 01:55:13.803: D/JpgDecHal(6002): JpgDecHal::~JpgDecHal 04-12 01:55:13.803: W/mHalJpgDec(6002): can't lock resource 04-12 01:55:13.803: W/skia(6002): Use JPEG SW Decoder 04-12 01:55:13.804: D/JpgDecHal(6002): JpgDecHal::JpgDecHal 04-12 01:55:13.804: W/JpegDecDriver(6002): Open JPEG Driver Error (Permission denied) 04-12 01:55:13.804: W/JpgDecHal(6002): [JPEG Decoder] - Jpeg decoder resource is busy 04-12 01:55:13.804: D/JpgDecHal(6002): JpgDecHal::~JpgDecHal 04-12 01:55:13.804: W/mHalJpgDec(6002): can't lock resource 04-12 01:55:13.805: W/skia(6002): HW Not support format 04-12 01:55:13.805: W/skia(6002): Use JPEG SW Decoder 04-12 01:55:13.811: D/skia(6002): jpeg_decoder finish successfully, L:1028!!! 04-12 01:55:13.819: D/MediaPlayer(6002): mPlayerID = 326 04-12 01:55:13.836: D/AndroidRuntime(6002): Shutting down VM 04-12 01:55:13.836: W/dalvikvm(6002): threadid=1: thread exiting with uncaught exception (group=0x4001b6a8) 04-12 01:55:13.839: E/AndroidRuntime(6002): FATAL EXCEPTION: main 04-12 01:55:13.839: E/AndroidRuntime(6002): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.downsyndromemobilelearningsystem/com.example.downsyndromemobilelearningsystem.Tahap}: java.lang.NullPointerException 04-12 01:55:13.839: E/AndroidRuntime(6002): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1755) 04-12 01:55:13.839: E/AndroidRuntime(6002): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1774) 04-12 01:55:13.839: E/AndroidRuntime(6002): at android.app.ActivityThread.access$1500(ActivityThread.java:157) 04-12 01:55:13.839: E/AndroidRuntime(6002): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1001) 04-12 01:55:13.839: E/AndroidRuntime(6002): at android.os.Handler.dispatchMessage(Handler.java:130) 04-12 01:55:13.839: E/AndroidRuntime(6002): at android.os.Looper.loop(SourceFile:351) 04-12 01:55:13.839: E/AndroidRuntime(6002): at android.app.ActivityThread.main(ActivityThread.java:3841) 04-12 01:55:13.839: E/AndroidRuntime(6002): at java.lang.reflect.Method.invokeNative(Native Method) 04-12 01:55:13.839: E/AndroidRuntime(6002): at java.lang.reflect.Method.invoke(Method.java:538) 04-12 01:55:13.839: E/AndroidRuntime(6002): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:969) 04-12 01:55:13.839: E/AndroidRuntime(6002): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:727) 04-12 01:55:13.839: E/AndroidRuntime(6002): at dalvik.system.NativeStart.main(Native Method) 04-12 01:55:13.839: E/AndroidRuntime(6002): Caused by: java.lang.NullPointerException 04-12 01:55:13.839: E/AndroidRuntime(6002): at com.example.downsyndromemobilelearningsystem.Tahap.onCreate(Tahap.java:36) 04-12 01:55:13.839: E/AndroidRuntime(6002): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082) 04-12 01:55:13.839: E/AndroidRuntime(6002): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1719) 04-12 01:55:13.839: E/AndroidRuntime(6002): ... 11 more

Community
  • 1
  • 1
tyung
  • 1
  • 3

0 Answers0