我写了一个mp3播放器 然后播放的时候音乐会有一些噪声而且播放一会就自动停了 。日志里面的打印的是 mediaPlayer error  

解决方案 »

  1.   

    public class PlayerActivity extends Activity {
         ImageButton playButton=null;
         ImageButton pauseButton=null;
         ImageButton stopButton=null;
         Mp3Info mp3Info=null;
         MediaPlayer mediaPlayer=null;
         private boolean isplay=false;
         private boolean ispause=false;
         private boolean isstop=false;
       
         
         
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.play);
    Intent intent=getIntent();
    mp3Info=(Mp3Info)intent.getSerializableExtra("mp3Info");
    playButton=(ImageButton)findViewById(R.id.play);
    pauseButton=(ImageButton)findViewById(R.id.pause);
    stopButton=(ImageButton)findViewById(R.id.stop);
    playButton.setOnClickListener(new playButtononclick());
    pauseButton.setOnClickListener(new pauseButtononclick());
    stopButton.setOnClickListener(new stopButtononclick());


    }
     class playButtononclick implements OnClickListener{ @Override
    public void onClick(View v) {
    if(!isplay){

            mediaPlayer=MediaPlayer.create(PlayerActivity.this, Uri.parse(getPath(mp3Info)));

               
                    mediaPlayer.setLooping(false);
    /*     try {
    mediaPlayer.prepare();
    } catch (IllegalStateException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    */ }
         mediaPlayer.start();
         
         isplay=true;
         isstop=false;
    }
     } private String getPath(Mp3Info mp3Info) {
     String SDCardRoot =Environment.getExternalStorageDirectory().getAbsolutePath();
     String path=SDCardRoot+File.separator+"mp3"+File.separator+mp3Info.getMp3Name();
     return path;
     
    }


     
     
     class pauseButtononclick implements OnClickListener{ @Override
    public void onClick(View v) {

    if(mediaPlayer!=null){
    if(!isstop){
    if(!ispause){
    mediaPlayer.pause();
                            ispause=true;
                            isplay=true;
    }else {
    mediaPlayer.start();
    ispause=false;
    }
    }
    }

    }
     
     
     }
     class stopButtononclick implements OnClickListener{ @Override
    public void onClick(View v) {
    if(mediaPlayer!=null){
    if(isplay){
    if(!isstop){
    mediaPlayer.stop();
    mediaPlayer.release();
    isstop=true;
    }
    }
    }

    }
     
     
       }
    }
    )
      

  2.   

    12-27 07:25:27.398: W/System.err(311):  at android.widget.TabHost.setCurrentTab(TabHost.java:323)
    12-27 07:25:27.409: W/System.err(311):  at android.widget.TabHost.addTab(TabHost.java:213)
    12-27 07:25:27.409: W/System.err(311):  at mars.mp3player.MainActivity.onCreate(MainActivity.java:24)
    12-27 07:25:27.409: W/System.err(311):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    12-27 07:25:27.409: W/System.err(311):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    12-27 07:25:27.409: W/System.err(311):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    12-27 07:25:27.409: W/System.err(311):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    12-27 07:25:27.409: W/System.err(311):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    12-27 07:25:27.409: W/System.err(311):  at android.os.Handler.dispatchMessage(Handler.java:99)
    12-27 07:25:27.409: W/System.err(311):  at android.os.Looper.loop(Looper.java:123)
    12-27 07:25:27.409: W/System.err(311):  at android.app.ActivityThread.main(ActivityThread.java:4627)
    12-27 07:25:27.409: W/System.err(311):  at java.lang.reflect.Method.invokeNative(Native Method)
    12-27 07:25:27.419: W/System.err(311):  at java.lang.reflect.Method.invoke(Method.java:521)
    12-27 07:25:27.419: W/System.err(311):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    12-27 07:25:27.419: W/System.err(311):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    12-27 07:25:27.419: W/System.err(311):  at dalvik.system.NativeStart.main(Native Method)
    12-27 07:25:44.018: D/dalvikvm(311): Debugger has detached; object registry had 1 entries
    12-27 07:27:02.779: W/System.err(354): org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 566: no element found
    12-27 07:27:02.788: W/System.err(354):  at org.apache.harmony.xml.ExpatParser.finish(ExpatParser.java:553)
    12-27 07:27:02.788: W/System.err(354):  at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:493)
    12-27 07:27:02.788: W/System.err(354):  at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:308)
    12-27 07:27:02.788: W/System.err(354):  at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:264)
    12-27 07:27:02.788: W/System.err(354):  at mars.mp3player.Mp3ListActivity.parse(Mp3ListActivity.java:105)
    12-27 07:27:02.788: W/System.err(354):  at mars.mp3player.Mp3ListActivity.updateListView(Mp3ListActivity.java:85)
    12-27 07:27:02.788: W/System.err(354):  at mars.mp3player.Mp3ListActivity.onCreate(Mp3ListActivity.java:50)
    12-27 07:27:02.788: W/System.err(354):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    12-27 07:27:02.798: W/System.err(354):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    12-27 07:27:02.798: W/System.err(354):  at android.app.ActivityThread.startActivityNow(ActivityThread.java:2503)
    12-27 07:27:02.798: W/System.err(354):  at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)
    12-27 07:27:02.798: W/System.err(354):  at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)
    12-27 07:27:02.798: W/System.err(354):  at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:651)
    12-27 07:27:02.798: W/System.err(354):  at android.widget.TabHost.setCurrentTab(TabHost.java:323)
    12-27 07:27:02.798: W/System.err(354):  at android.widget.TabHost.addTab(TabHost.java:213)
    12-27 07:27:02.798: W/System.err(354):  at mars.mp3player.MainActivity.onCreate(MainActivity.java:24)
    12-27 07:27:02.798: W/System.err(354):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    12-27 07:27:02.809: W/System.err(354):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    12-27 07:27:02.809: W/System.err(354):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    12-27 07:27:02.809: W/System.err(354):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    12-27 07:27:02.809: W/System.err(354):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    12-27 07:27:02.809: W/System.err(354):  at android.os.Handler.dispatchMessage(Handler.java:99)
    12-27 07:27:02.809: W/System.err(354):  at android.os.Looper.loop(Looper.java:123)
    12-27 07:27:02.809: W/System.err(354):  at android.app.ActivityThread.main(ActivityThread.java:4627)
    12-27 07:27:02.809: W/System.err(354):  at java.lang.reflect.Method.invokeNative(Native Method)
    12-27 07:27:02.809: W/System.err(354):  at java.lang.reflect.Method.invoke(Method.java:521)
    12-27 07:27:02.820: W/System.err(354):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    12-27 07:27:02.820: W/System.err(354):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    12-27 07:27:02.820: W/System.err(354):  at dalvik.system.NativeStart.main(Native Method)
    12-27 07:30:56.855: E/MediaPlayer(354): error (1, -2147483648)
    12-27 07:30:56.855: E/MediaPlayer(354): Error (1,-2147483648)
      

  3.   

    12-27 07:25:27.398: W/System.err(311):  at android.widget.TabHost.setCurrentTab(TabHost.java:323)
    12-27 07:25:27.409: W/System.err(311):  at android.widget.TabHost.addTab(TabHost.java:213)
    12-27 07:25:27.409: W/System.err(311):  at mars.mp3player.MainActivity.onCreate(MainActivity.java:24)
    12-27 07:25:27.409: W/System.err(311):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    12-27 07:25:27.409: W/System.err(311):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    12-27 07:25:27.409: W/System.err(311):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    12-27 07:25:27.409: W/System.err(311):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    12-27 07:25:27.409: W/System.err(311):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    12-27 07:25:27.409: W/System.err(311):  at android.os.Handler.dispatchMessage(Handler.java:99)
    12-27 07:25:27.409: W/System.err(311):  at android.os.Looper.loop(Looper.java:123)
    12-27 07:25:27.409: W/System.err(311):  at android.app.ActivityThread.main(ActivityThread.java:4627)
    12-27 07:25:27.409: W/System.err(311):  at java.lang.reflect.Method.invokeNative(Native Method)
    12-27 07:25:27.419: W/System.err(311):  at java.lang.reflect.Method.invoke(Method.java:521)
    12-27 07:25:27.419: W/System.err(311):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    12-27 07:25:27.419: W/System.err(311):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    12-27 07:25:27.419: W/System.err(311):  at dalvik.system.NativeStart.main(Native Method)
    12-27 07:25:44.018: D/dalvikvm(311): Debugger has detached; object registry had 1 entries
    12-27 07:27:02.779: W/System.err(354): org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 566: no element found
    12-27 07:27:02.788: W/System.err(354):  at org.apache.harmony.xml.ExpatParser.finish(ExpatParser.java:553)
    12-27 07:27:02.788: W/System.err(354):  at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:493)
    12-27 07:27:02.788: W/System.err(354):  at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:308)
    12-27 07:27:02.788: W/System.err(354):  at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:264)
    12-27 07:27:02.788: W/System.err(354):  at mars.mp3player.Mp3ListActivity.parse(Mp3ListActivity.java:105)
    12-27 07:27:02.788: W/System.err(354):  at mars.mp3player.Mp3ListActivity.updateListView(Mp3ListActivity.java:85)
    12-27 07:27:02.788: W/System.err(354):  at mars.mp3player.Mp3ListActivity.onCreate(Mp3ListActivity.java:50)
    12-27 07:27:02.788: W/System.err(354):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    12-27 07:27:02.798: W/System.err(354):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    12-27 07:27:02.798: W/System.err(354):  at android.app.ActivityThread.startActivityNow(ActivityThread.java:2503)
    12-27 07:27:02.798: W/System.err(354):  at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)
    12-27 07:27:02.798: W/System.err(354):  at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)
    12-27 07:27:02.798: W/System.err(354):  at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:651)
    12-27 07:27:02.798: W/System.err(354):  at android.widget.TabHost.setCurrentTab(TabHost.java:323)
    12-27 07:27:02.798: W/System.err(354):  at android.widget.TabHost.addTab(TabHost.java:213)
    12-27 07:27:02.798: W/System.err(354):  at mars.mp3player.MainActivity.onCreate(MainActivity.java:24)
    12-27 07:27:02.798: W/System.err(354):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    12-27 07:27:02.809: W/System.err(354):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    12-27 07:27:02.809: W/System.err(354):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    12-27 07:27:02.809: W/System.err(354):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    12-27 07:27:02.809: W/System.err(354):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    12-27 07:27:02.809: W/System.err(354):  at android.os.Handler.dispatchMessage(Handler.java:99)
    12-27 07:27:02.809: W/System.err(354):  at android.os.Looper.loop(Looper.java:123)
    12-27 07:27:02.809: W/System.err(354):  at android.app.ActivityThread.main(ActivityThread.java:4627)
    12-27 07:27:02.809: W/System.err(354):  at java.lang.reflect.Method.invokeNative(Native Method)
    12-27 07:27:02.809: W/System.err(354):  at java.lang.reflect.Method.invoke(Method.java:521)
    12-27 07:27:02.820: W/System.err(354):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    12-27 07:27:02.820: W/System.err(354):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    12-27 07:27:02.820: W/System.err(354):  at dalvik.system.NativeStart.main(Native Method)
    12-27 07:30:56.855: E/MediaPlayer(354): error (1, -2147483648)
    12-27 07:30:56.855: E/MediaPlayer(354): Error (1,-2147483648)
      

  4.   

    代码排版太乱 我估计是你的isPlay 没有控制好 引起了onCreate的问题;
    或者是 relase方法执行了 你又调用mediaplayer播放的问题;
      

  5.   

    有 mediaPlayer.isPlaying()  不用自己定义  播放前要reset一下    不然上次连续点两次可能有问题
      

  6.   

    eclipse创建android sample project里有一个randommusicplayer
    你参考一下他的代码