Я работаю на Android (с Eclipse и SDK), пытаясь передать видео в VideoView. Иногда видео работает, но иногда я получаю ошибку, что видео не может быть отображено. Вот код:
//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();
И еще один класс, который загружает разные видео, когда пользователь прокручивает экран.
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;
}
Во-первых, гарантирует ли загрузка моего видео таким образом, что оно будет отображаться одинаково на каждом отдельном устройстве?
Во-вторых, есть идеи, почему видео начинает воспроизводиться, а затем выдает ошибку видео, которое невозможно воспроизвести?
Вот что я получаю в LogCat, когда видео запускается, но блокируется.
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