Je travaille sur Android (avec Eclipse et SDK) en essayant de diffuser de la vidéo dans un VideoView. Parfois, la vidéo fonctionne, mais d'autres fois je reçois une erreur que la vidéo ne peut pas être affichée. Voici le code:Vidéo ne s'affiche pas correctement
//video
private Uri mPath;
private VideoView mVid;
mPath = Uri.parse("android.resource://com.accuweather.wordweather/" + R.raw.b2);
mVid.setVideoURI(mPath);
mVid.requestFocus();
mVid.start();
Et une autre classe qui charge différentes vidéos lorsqu'un utilisateur fait défiler l'écran.
public void onScrollViewSnap(int page) {
//change video
Log.d(DEB_TAG, "In 'onPageCountChange: '." + page);
//video
if(page != mOnPage){
if(page == 0){
mPath = Uri.parse("http://www.ted.com/talks/download/video/8584/talk/761");
//mPath = Uri.parse("android.resource://com.accuweather.wordweather/" + R.raw.w2);
}else if(page == 1){
mPath = Uri.parse("android.resource://com.accuweather.wordweather/" + R.raw.b1);
}else if(page == 2){
mPath = Uri.parse("http://commonsware.com/misc/test2.3gp");
//mPath = Uri.parse("android.resource://com.accuweather.wordweather/" + R.raw.test2);
}
if(mVid.isPlaying() == true){
mVid.stopPlayback();
}
mVid.setVideoURI(mPath);
mVid.requestFocus();
mVid.start();
Log.d(DEB_TAG, "THIS IS THE HEIGHT: " + mVid.getMeasuredHeight());
Log.d(DEB_TAG, "THIS IS THE WIDTH: " + mVid.getMeasuredWidth());
}
ImageView temp = null;
switch(page){
case 0:
temp = (ImageView) findViewById(R.id.scroll_page_1);
mOnPage = 0;
break;
case 1:
temp = (ImageView) findViewById(R.id.scroll_page_2);
mOnPage = 1;
break;
case 2:
temp = (ImageView) findViewById(R.id.scroll_page_3);
mOnPage = 2;
break;
}
// Change pagination image
mPageSelected.setImageResource(R.drawable.scrollview_page_off);
temp.setImageResource(R.drawable.scrollview_page_on);
mPageSelected = temp;
}
Tout d'abord, ne chargeant ma vidéo ainsi assurez-vous qu'il sera affiché aussi bien sur chaque appareil différent?
Deuxièmement, une idée pourquoi une vidéo va commencer à jouer, puis lancer une erreur de vidéo ne peut pas jouer? Voici ce que j'obtiens dans LogCat lorsque la vidéo démarre mais se bloque.
07-01 13:27:05.594: WARN/PlayerDriver(30): Using generic video MIO
07-01 13:27:22.324: WARN/PlayerDriver(30): Video track fell behind
07-01 13:27:22.324: ERROR/MediaPlayer(409): error (1, 48)
07-01 13:27:22.324: ERROR/MediaPlayer(409): Error (1,48)
07-01 13:27:22.324: DEBUG/VideoView(409): Error: 1,48
Merci! Cela fonctionne sur un périphérique réel. – taraloca