Android的VideoView无法播放视频的MP4(Android VideoView Cann

2019-07-03 23:18发布

我用过Android VideoView通过HTTP来播放视频文件。 我的问题是我的手机会提示“无法播放视频很抱歉,此视频无法播放。” 打从HTTP一个MP4文件时。 但打另一个MP4视频文件的时候就可以了。

当一个新的手机使用,像三星Galaxy S,我的程序可以从HTTP成功地同时播放MP4视频文件。

我的手机:

Samsung GT-S5830  
Android version: 2.3.4  
Display: 320x480.

Video file 1 (OK):  
Video Codec: H.264  
Resolution: 640x360  
Others: 16:9, 340kbps, 29.92fps  
Audio Codec: AAC, 44kHz 96kbps Stereo.


Video file 2 (Fail):  
Video Codec: H.264  
Resolution: 640x360  
Others: 16:9, 993kbps, 25fps  
Audio Codec: AAC 44kHz 125kbps Stereo.

下面是我的代码是硬编码播放视频文件1成功。

public class VideoPlayActivity extends Activity {
VideoView vv;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //requestWindowFeature(Window.FEATURE_NO_TITLE);
    //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    vv = new VideoView(this);
    RelativeLayout.LayoutParams param1 = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
    param1.addRule(RelativeLayout.CENTER_IN_PARENT);
    vv.setOnErrorListener(new OnErrorListener() {

        public boolean onError(MediaPlayer mp, int what, int extra) {
            Log.d("Dbg", "OnErrorListener: onError: " + what + ", " + extra);
            return false;
        }

    });

    RelativeLayout layout = new RelativeLayout(this);
    layout.addView(vv, param1);

    setContentView(layout);

    playContent();

 }

 private void playContent() {
    String path = "http://rmcdn.2mdn.net/MotifFiles/html/1248596/android_1330378998288.mp4";

    vv.setVideoPath(path);
    vv.requestFocus();
    vv.start();
    }
}

播放视频文件2当错误日志如下:

11-19 17:49:30.119: I/VideoView(16860): start()  
11-19 17:49:30.139: E/MediaPlayer(16860): error (1, -2147483648)  
11-19 17:49:30.149: E/MediaPlayer(16860): Error (1,-2147483648)  
11-19 17:49:30.149: D/VideoView(16860): Error: 1,-2147483648  
11-19 17:49:30.149: D/Dbg(16860): OnErrorListener: onError: 1, -2147483648  

值得注意的是,我试图安装MX播放器和下载的两个视频文件到我的手机的SD卡。 该MX播放器可以顺利播放这两个视频文件。

所以,任何人都可以帮我回答以下问题:

  1. 为什么我的程序不能发挥出自己的手机上的视频文件2?
  2. 我怎样才能发挥我的手机上的视频文件2?

感谢您的意见。

Answer 1:

感谢您的回答Android的MediaPlayer的错误(1,-2147483648) 。

我找到视频文件2标准H.264 Main Profile进行编码,我的手机不能播放。 Android的支持的媒体格式建议H.264基线资料。 因此,视频转换为基准配置文件后,就可以在手机上播放。



文章来源: Android VideoView Cannot play video mp4