播放视频的时候提示 error(1,-2147483648)

fbhokzd2jo 发布于 2014/04/15 09:08
阅读 4K+
收藏 0
用模拟器播放一组视频 其中一个出现 MediaPlayer.MEDIA_INFO_UNKNOWN:  error(1,-2147483648) 这样的错误   用中等配置的手机可以播放   低端手机只有声音没有视图

@Override
        public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3)
        {
                Log.e("mediaPlayer", "surface changed");
        }

        public void playUrl(String videoUrl)
        {
                try
                {
                        mediaPlayer.reset();
                        mediaPlayer.setDataSource(videoUrl);
                        mediaPlayer.prepare();// prepare之后自动播放
                        videoloadingLayout.setVisibility(View.GONE);
                        // mediaPlayer.start();
                } catch (IllegalArgumentException e)
                {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (IllegalStateException e)
                {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (IOException e)
                {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
        }

        @Override
        public void surfaceCreated(SurfaceHolder arg0)
        {
                try
                {
                        mediaPlayer = new MediaPlayer();
                        mediaPlayer.setDisplay(surfaceHolder);
                        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
                        mediaPlayer.setOnBufferingUpdateListener(this);
                        mediaPlayer.setOnPreparedListener(this);
                        playUrl(videoUrl);
                } catch (Exception e)
                {
                        Log.e("mediaPlayer", "error", e);
                }
                Log.e("mediaPlayer", "surface created");
        }

        @Override
        public void surfaceDestroyed(SurfaceHolder arg0)
        {
                Log.e("mediaPlayer", "surface destroyed");
        }

        @Override
        /**
         * 通过onPrepared播放
         */
        public void onPrepared(MediaPlayer arg0)
        {
                videoWidth = mediaPlayer.getVideoWidth();
                videoHeight = mediaPlayer.getVideoHeight();
                if (videoHeight != 0 && videoWidth != 0)
                {
                        arg0.start();
                }
                Log.e("mediaPlayer", "onPrepared");
        }


直接会跳到第一个 未知媒体信息里面

@Override
        public boolean onInfo(MediaPlayer mp, int what, int extra)
        {
                // TODO Auto-generated method stub
                switch (what)
                {
                case MediaPlayer.MEDIA_INFO_UNKNOWN:
                        break;
                case MediaPlayer.MEDIA_INFO_BAD_INTERLEAVING:
                        break;
                case MediaPlayer.MEDIA_INFO_METADATA_UPDATE:
                        break;
                case MediaPlayer.MEDIA_INFO_NOT_SEEKABLE:
                        break;
                case MediaPlayer.MEDIA_INFO_VIDEO_TRACK_LAGGING:
                        break;
                }
                return false;
加载中
返回顶部
顶部