Użyłem Android VideoView do odtworzenia pliku wideo przez HTTP. Moim problemem są moje monity telefoniczne "Nie można odtwarzać wideo Niestety, tego wideo nie można odtworzyć." podczas odtwarzania pliku MP4 z HTTP. Ale jest dobrze, gdy odtwarzasz inny plik wideo MP4.Android VideoView Nie można odtworzyć wideo mp4
Po użyciu w nowszym telefonie, takim jak Samsung Galaxy S, mój program może z powodzeniem odtwarzać pliki wideo MP4 z HTTP.
Mój telefon:
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.
Poniżej jest mój kod, który sztywno, aby odtworzyć plik wideo 1 pomyślnie.
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();
}
}
Dziennik błędów podczas odtwarzania pliku wideo 2 jest jak poniżej:
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
Należy zauważyć, że próbowałem zainstalować odtwarzacz MX i pobraniu zarówno plik wideo do mojej Karty SD telefonu. Odtwarzacz MX może z powodzeniem odtwarzać oba pliki wideo.
Więc może ktoś mi pomóc odpowiedzieć na poniższe pytania:
- Dlaczego mój program nie może odtworzyć pliku wideo 2 na moim telefonie?
- Jak mogę odtwarzać plik wideo 2 na moim telefonie?
Dziękuję za poradę.
Dziękuję za pytanie i odpowiedź, próbuję również odtworzyć wideo w wideoview i mam ten sam problem, nie rozumiem co masz na myśli z profilem głównym i profilem podstawowym? jak i gdzie mogę znaleźć więcej informacji na ich temat? z góry dzięki – Rudi
W jaki sposób udało Ci się przekonwertować wideo na profil bazowy? – kabuto178
Czy przekonwertowałeś go w czasie wykonywania? – Jaydev