2012-01-05 10 views
0

私は以下のコードを使用してオーディオファイルを再生しています。AudioPlayエラーを与える

しかし、それは私にエラーを与えます。

01-05 11:35:05.793: W/System.err(1739): java.lang.IllegalStateException 
01-05 11:35:05.793: W/System.err(1739):  at android.media.MediaPlayer.prepare(Native Method) 
01-05 11:35:05.793: W/System.err(1739):  at com.android.halfivrs.MyAudioControl.startAudio(MyAudioControl.java:22) 
01-05 11:35:05.793: W/System.err(1739):  at com.android.halfivrs.HalfIVRSActivity.onCreate(HalfIVRSActivity.java:13) 
01-05 11:35:05.793: W/System.err(1739):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
01-05 11:35:05.793: W/System.err(1739):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459) 
01-05 11:35:05.793: W/System.err(1739):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) 
01-05 11:35:05.793: W/System.err(1739):  at android.app.ActivityThread.access$2200(ActivityThread.java:119) 
01-05 11:35:05.793: W/System.err(1739):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863) 
01-05 11:35:05.793: W/System.err(1739):  at android.os.Handler.dispatchMessage(Handler.java:99) 
01-05 11:35:05.793: W/System.err(1739):  at android.os.Looper.loop(Looper.java:123) 
01-05 11:35:05.793: W/System.err(1739):  at android.app.ActivityThread.main(ActivityThread.java:4363) 
01-05 11:35:05.793: W/System.err(1739):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-05 11:35:05.793: W/System.err(1739):  at java.lang.reflect.Method.invoke(Method.java:521) 
01-05 11:35:05.793: W/System.err(1739):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
01-05 11:35:05.793: W/System.err(1739):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
01-05 11:35:05.793: W/System.err(1739):  at dalvik.system.NativeStart.main(Native Method) 

ここは私のコードです。

public class MyAudioControl { 

    private Context mContext; 

    public MyAudioControl(Context con) { 
     this.mContext = con; 
    } 

    private MediaPlayer player; 

    public void startAudio() { 
     try { 
      player = MediaPlayer.create(mContext, R.raw.tabla); 
      player.setLooping(false); // Set looping 
      player.prepare(); 
      player.start(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    public void stopAudio() { 
     try { 
      player.stop(); 
      player.reset(); 
      player.release(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

上記のコードに間違いがありますか?

ありがとうございます。

答えて

0

このコードを試してみてください。

public void startAudio() { 
     player = MediaPlayer.create(ScaleTestActivity.this, R.raw.test30fps); 
     player.setLooping(false); // Set looping 
     player.setOnPreparedListener(new OnPreparedListener() { 

      @Override 
      public void onPrepared(MediaPlayer mp) { 
       // TODO Auto-generated method stub 
       player.start(); 
      } 
     });   
} 

は、それは私にエラーを与えるものではありませんが、また、ファイルを再生できません

+0

...あなたに役立つ願っています。 – Nirav

+0

このように.mp3ファイルを再生できるので、生のフォルダに置いたチェックファイルは他のプレイヤーで再生されます。 –

+0

@Nirav、あなたがファイルを再生できない場合は、あなたのログにエラーがなければならないと思います。 – artsylar

0
  player = MediaPlayer.create(this, R.raw.robotrock); 
      player.setLooping(false); // Set looping 


      playerButton = (Button) this.findViewById(R.id.play); 

      playerButton.setOnClickListener(new OnClickListener() { 

        public void onClick(View v) { 
         player.start(); 

        } 
       }); 
関連する問題