2011-01-11 9 views
2

So spielt Ich hoffe, es ist nicht eine wiederholte Frage aber, aus dem folgenden CodeWie Video von sd Ordnern

File f = new File(Environment.getExternalStorageDirectory(), TRYVID); 
Uri uri = Uri.fromFile(f); 
mc = new MediaController(this); 
mp.setMediaController(mc); 
mp.setVideoPath("/sdcard/try2.mp4"); 

dies Teil einer Funktion, die aufgerufen wird, wenn eine Taste gedrückt wird, was ich hoffe, zu erreichen ist, dass, wenn der Benutzer eine Taste drückt, das Video spielt, aber ich habe gelernt, dass die Videowiedergabe nichts aus dem rohen Ordner spielt, so kopierte ich das Video in die SD-Karte, aber dann, nachdem ich auf die Schaltfläche auf dem Emulator drücken es stürzt einfach ab, sagt, dass es unerwartet nahe sein muss. Ich habe sowohl den .setVideoPath als auch den .setUri ausprobiert, aber beides funktioniert nicht. Hmm, kann hier jemand auf mein Problem hinweisen?

Antwort

1

Ok so zunächst einmal Sie sicherstellen müssen, dass Sie das .setAnchorView (Blick v) auf Ihrem MediaController- verwenden oder sonst wird es nicht richtig die Videoview steuern. Außerdem vermisst du deine .start(), um das Video zu starten. Nachdem ich kürzlich etwas Ähnliches mit dem Streaming von einer rstp-Videodatei gemacht habe, kann ich Ihnen sagen, dass es eine Chance gibt, dass es nicht funktioniert, weil Sie es auf einem Emulator ausführen, die Videowiedergabe auf AVDs funktioniert oft nicht. Versuchen Sie es auf einem physischen Gerät auszuführen, wenn Sie Zugang zu einem haben. Lesen Sie auch den Logcat, um eine bessere Vorstellung davon zu bekommen, wo die Fehler passieren.

Ich hoffe, das hilft.

1

Für Video-Wiedergabe von Dateien eines von der SD-Karte, die Sie dies ausprobieren können: dies dieses wii Ihr Problem unten Code

String filepath = Environment.getExternalStorageDirectory()+"/a.mp4"; 
VideoView vv = new VideoView(getApplicationContext()); 
setContentView(vv); 
vv.setVideoPath(filepath); 
vv.setMediaController(new MediaController(this)); 
vv.requestFocus(); 
vv.start(); 
0

Versuche sicher lösen, Videoview Stellen,

VideoView videoView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    videoView = (VideoView)findViewById(R.id.VideoView);   
    videoView.setVideoPath("/sdcard/blonde_secretary.3gp"); 
    videoView.start(); 
} 

ich es wünschen wird dir helfen.

0

Ich hatte die gleiche Frage und fand die Lösung. Mein Code in der Verbindung funktioniert gut. Prüfen this question of mine