title: Exception when calling wait()
body: <p>I am implementing an application in which I play two sounds ("<strong>touchandshow</strong>" followed by "<strong>tiger</strong>"). This is done in my <code>looper</code> method. I call it a first time, then call <code>wait()</code>, then call <code>looper</code> again.</p>
  
  <p>The problem is that I get an exception in the LogCat from the <code>wait()</code> call.</p>
  
  <p>Here is my code:</p>
  
  <pre><code>        mPlayer = MediaPlayer.create(this, R.raw.touchandshow);
      mPlayer2 = MediaPlayer.create(this, R.raw.tiger);
  
      try {
  
          looper();
          wait(2000);
  
          looper();
      } catch (InterruptedException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      }
  
  }
  
  public void looper() {
      CountDownTimer aCounter;
      aCounter = new CountDownTimer(2000, 1000) {
          public void onTick(long millisUntilFinished) {
              mPlayer.start();
          }
  
          public void onFinish() {
              mPlayer2.start();
          }
      };
      aCounter.start();
  
  }  
  </code></pre>
  
  <p>And the LogCat:</p>
  
  <pre><code>    07-29 10:20:09.412: ERROR/AndroidRuntime(1188): FATAL EXCEPTION: main
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.AudioTesting/com.AudioTesting.AudioTesting}: java.lang.IllegalMonitorStateException: object not locked by thread before wait()
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at android.os.Handler.dispatchMessage(Handler.java:99)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at android.os.Looper.loop(Looper.java:123)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at android.app.ActivityThread.main(ActivityThread.java:4627)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at java.lang.reflect.Method.invokeNative(Native Method)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at java.lang.reflect.Method.invoke(Method.java:521)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at dalvik.system.NativeStart.main(Native Method)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188): Caused by: java.lang.IllegalMonitorStateException: object not locked by thread before wait()
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at java.lang.Object.wait(Native Method)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at java.lang.Object.wait(Object.java:326)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at com.AudioTesting.AudioTesting.onCreate(AudioTesting.java:25)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
  07-29 10:20:09.412: ERROR/AndroidRuntime(1188):     ... 11 more
  </code></pre>
  
  <p>Can anyone tell me what I'm doing wrong?</p>