gpt4 book ai didi

Android VideoView无法播放视频mp4

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:29:41 26 4
gpt4 key购买 nike

我使用 Android VideoView 通过 HTTP 播放视频文件。我的问题是我的手机提示“无法播放视频抱歉,无法播放该视频。”从 HTTP 播放 mp4 文件时。但是播放另一个mp4视频文件时就可以了。

当在较新的手机(如 Samsung 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?

感谢您的建议。

最佳答案

感谢Android MediaPlayer error (1, -2147483648)的回答.

我发现视频文件2是用H.264 Main Profile编码的,我的手机无法播放。 Android Supported Media Format建议在 Baseline Profile 中使用 H.264。因此,将视频转换为 Baseline Profile 后,就可以在我的手机上播放了。

关于Android VideoView无法播放视频mp4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13451180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com