Ciao a tutti.Sto cercando di visualizzare il flusso di tipo mjpeg prendendolo da un indirizzo URL.All'inizio ho provato con una semplice VideoView:
video = (VideoView)findViewById(R.id.VideoView01);
video.setVideoURI(Uri.parse(URLstring));
video.start();
dove URLstring era il mio indirizzo URL.ottenevo però un errore:
D/MediaPlayer<2909>: Couldn't open file on client side, trying server side
I/StagefrightPlayer< 33>: setDataSource<'http://192.168.1.214:1234'>
E/MediaPlayer< 2909>: error<1, -2147483648>
poi ho provato con gli oggetti della classe MediaPlayer
public void video() {
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(URLstring);
mp.prepare();
mp.start();
}
con i relativi blocchi try/catch.l'errore che ottenevo era piu o meno simile:
I/StagefrightPlayer< 33>: setDataSource<'http://192.168.1.214:1234'>
E/MediaPlayer< 2909>: error<1, -2147483648>
W/Sistem.err< 2943> java.io.IOException: Prepare failed.: status=0x1
infine ho trovato questo snippet di codice su un libro ed ho provato ad eseguirlo...
public class SimpleVideo extends Activity {
private VideoView myVideo;
private MediaController mc;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
setContentView(R.layout.prova);
Button bPlayVideo=(Button)findViewById(R.id.playvideo);
bPlayVideo.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
SimpleVideo.this.mc.show(); }
});
this.myVideo=(VideoView)findViewById(R.id.video);
this.myVideo.setVideoURI(Uri.parse(URLstring));
this.mc=new MediaController(this);
this.mc.setMediaPlayer(myVideo);
this.myVideo.setMediaController(mc);
this.myVideo.requestFocus();
}
}
il layout in XML è il seguente:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android: orientation="vertical">
<VideoView
android:id="@+id/video"
android:layout_width="300px"
android:layout_height="220px" />
<Button
android:id="@+id/playvideo"
android:text="Play Video"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android: paddingRight="4px"
android:enabled="false" />
</LinearLayout>
...ma anche stavolta ottengo l'errore E/MediaPlayer< 2974>: error <1, -2147483648>
Come posso fare? Qualcuno può darmi una mano?
Vi ringrazio in anticipo per la pazienza (come minimo per aver letto fino alla fine) e per il vostro aiuto.![]()