Видео не отображается должным образом - PullRequest
1 голос
/ 01 июля 2010

Я работаю на 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

1 Ответ

0 голосов
/ 01 июля 2010

Воспроизведение видео на эмуляторе не очень стабильно. Если вы много работаете с видео, вы должны протестировать и разработать хотя бы на одном реальном устройстве. Это общая проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...