2016-08-04 47 views
2

我试过在这个网站提供的所有解决方案&我仍然得到这个错误。不知道为什么会发生!请帮帮我。MediaPlayer:错误(-19,0)

在这里我的代码。

MediaPlayer mediaPlayer; 
    mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.square); 

       mediaPlayer.setOnErrorListener(MainActivity.this); 
       mediaPlayer.start(); 

    mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
         @Override 
         public void onCompletion(MediaPlayer mp) { 
          mWinMusic[blocks].release(); 
         } 
        }); 



    public boolean onError(MediaPlayer mp, int what, int extra) { 

    mp = MediaPlayer.create(getApplicationContext(), R.raw.square); 

      mp.start(); 
      return true; 



} 
+0

可以请你分享什么异常 – Shubh

+0

它是IllegalStateException异常? – Shubh

+0

E/MediaPlayer:错误(-19,0) E/MediaPlayer:应该已经设置字幕控制器 –

回答

0

这样创建的球员,并添加mediaPlayer.prepare();准备就绪时再开始onPrepared()

public class MainActivity extends Activity { 

    MediaPlayer mediaPlayer; 

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

     try { 
      mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.square); 
      mediaPlayer.prepare(); 
      mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
       @Override 
       public void onPrepared(MediaPlayer mp) { 
        mediaPlayer.start(); 
       } 
      }); 
      mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() { 
       @Override 
       public boolean onError(MediaPlayer mp, int what, int extra) { 
        Toast.makeText(MainActivity.this, "Some problem ", Toast.LENGTH_LONG).show(); 
        return false; 
       } 
      }); 


      mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
       @Override 
       public void onCompletion(MediaPlayer mp) { 
        Toast.makeText(MainActivity.this, "track completed", Toast.LENGTH_SHORT).show(); 
        //mWinMusic[blocks].release(); 
       } 
      }); 
     } catch (Exception e) { 
      Toast.makeText(MainActivity.this, "Some problem " + e.getMessage(), Toast.LENGTH_LONG).show(); 
     } 
    } 
} 
+0

我试过你的代码,但抛出空例外所有时间。 –

+0

@MahaMrityunjayaSaraswati你可以在这里发布你的日志吗?我想看看它的快照吗? –

+0

E/MediaPlayer的:应该已经设置 E/MediaPlayer的副标题控制器:prepareAsync称为状态8 E/MediaPlayer的:如果有副标题控制器已经设置 –