Latence lecture VideoView
Bonjour à tous ,
je fais une application pour controler une caméra depuis un tablette , celà fonctionne bien sauf que la lecture du flux rtsp avec le videoview à environ 2 3 secondes de retard avec le temps réel ...
J'aimerais savoir comment rendre la lecture du flux rtsp en temps réel pour avoir une application réactif , mais je n'ai aucune idée de comment le faire , reduire la taille du buffer peut être , mais comment ?
Je précise que lorsque je lis ce flux rtsp depuis une application celui ci est vraiment affiché en temps réel donc c'est possible ...
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
v = (VideoView)findViewById(R.id.VideoView);
String videoSrc = "rtsp://root:root@134.246.149.149/axis-media/media.amp?streamprofile=MedonMedium";
//String videoSrc ="http://root:root@134.246.149.149:8090/mjpg/video.mjpg";
try{
// MediaPlayer mp = MediaPlayer.create(this, Uri.parse(videoSrc));
//mp.start();
v.setVideoURI( Uri.parse(videoSrc) );
v.requestFocus();
pd = new ProgressDialog(MainActivity.this);
pd.setTitle("Chargement du flux video");
pd.setMessage("Chargement du flux video en cours...");
pd.setCancelable(false);
pd.setIndeterminate(true);
pd.show();
v.setOnErrorListener(new OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
pd.dismiss();
return false;
}
});
v.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
pd.dismiss();
v.start();
}
});
}catch(Exception x)
{
x.printStackTrace();
} |
Merci d'avance pour votre aide !