Android: '无法播放此视频';媒体播放器 & VideoView 错误 1 ​​-38

Android: 'Can't play this video'; MediaPlayer & VideoView Error 1 -38

我尝试使用以下代码播放视频。但是,我在 运行 时收到“无法播放此视频”弹出窗口的经典错误。我尽职尽责地搜索了 android 文献并浏览了其他人的问题,但我似乎找不到问题 a) 因为在文档中我找不到错误代码 (1 ,-38) ) 用于 MediaPlayer 和 b) 我的视频符合 android 媒体格式(h.264 和 MPEG-4)所需的规范。如果有人能帮助我指明正确的方向,我将不胜感激!谢谢

private void startVideo() {
    Log.v(TAG, "videoUrl = " + mVideoUrl);
    Uri uri = Uri.parse(mVideoUrl);
    mVideo = (VideoView) getView().findViewById(R.id.preview_videoView);
    MediaController mediaController = new MediaController(getActivity());
    mediaController.setAnchorView(mVideo);
    mVideo.setMediaController(mediaController);
    mVideo.setVideoURI(uri);
    mVideo.start();
}

这些是日志

10-07 21:08:38.529    9986-9986/com.trainwithtanya.hiitandroid V/﹕ videoUrl = http://files.parsetfss.com/2bb9a4a0-9f35-4124-a634-d2fa7f8b165e/tfss-ca535209-4b4c-4022-95b8-8f011ed41daf-High%20Knees.mp4
10-07 21:08:38.579   9986-10011/com.trainwithtanya.hiitandroid W/EGL_emulation﹕ eglSurfaceAttrib not implemented
10-07 21:08:38.579   9986-10011/com.trainwithtanya.hiitandroid W/OpenGLRenderer﹕ Failed to set EGL_SWAP_BEHAVIOR on surface 0xa5245c20, error=EGL_SUCCESS
10-07 21:08:38.609    9986-9986/com.trainwithtanya.hiitandroid D/MediaPlayer﹕ Couldn't open file on client side, trying server side
10-07 21:08:39.582    9986-9986/com.trainwithtanya.hiitandroid D/MediaPlayer﹕ getMetadata
10-07 21:08:39.637    9986-9999/com.trainwithtanya.hiitandroid E/MediaPlayer﹕ error (1, -38)
10-07 21:08:39.637    9986-9986/com.trainwithtanya.hiitandroid E/MediaPlayer﹕ Error (1,-38)
10-07 21:08:39.637    9986-9986/com.trainwithtanya.hiitandroid D/VideoView﹕ Error: 1,-38
10-07 21:08:39.650   9986-10000/com.trainwithtanya.hiitandroid E/MediaPlayer﹕ error (1, -38)
10-07 21:08:39.702    9986-9986/com.trainwithtanya.hiitandroid E/MediaPlayer﹕ Error (1,-38)
10-07 21:08:39.702    9986-9986/com.trainwithtanya.hiitandroid D/VideoView﹕ Error: 1,-38

这是视频格式 http://i288.photobucket.com/albums/ll185/akhan007/mediaType_zpsjfvfdpto.png

我想,你需要在 onPrepare

里面调用 mVideo.start();
mVideo.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
  public void onPrepared(MediaPlayer mp) {
    mVideo.start();
  }
});