【问题标题】:MediaPlayer: error (-19, 0)媒体播放器:错误 (-19, 0)
【发布时间】:2016-08-04 04:31:04
【问题描述】:

我尝试了本网站提供的所有解决方案,但我仍然收到此错误。不知道为什么会这样!请帮我。

这是我的代码。

    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;



}

【问题讨论】:

  • 你能分享一下是什么异常
  • 是非法状态异常吗?
  • E/MediaPlayer: 错误 (-19,0) E/MediaPlayer: 应该已经设置了字幕控制器
  • 不要关心这个“异常”。如果它实际上没有使您的应用程序崩溃。 stackoverflow.com/questions/20087804/…
  • E/MediaPlayer 怎么样:Error(-19,0) 仍然没有播放任何音频,先生

标签: android


【解决方案1】:

像这样创建播放器并添加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();
        }
    }
}

【讨论】:

  • 我尝试了你的代码,但总是引发空异常。
  • @MahaMrityunjayaSaraswati 你能把你的日志贴在这里吗?我想看看它的样子或快照?
  • E/MediaPlayer:应该已经设置了字幕控制器 E/MediaPlayer:在状态 8 中调用了 prepareAsync E/MediaPlayer:应该已经设置了字幕控制器
  • 刚才产生了非法状态异常
  • 你能把媒体文件发给我吗,我会在facebook.com/sohail.bsse结束尝试
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多