2

私は、ViewPager を使用してビデオとページを表示できるタブレット アプリに取り組んでいます。ビデオは VideoView を使用しています。Xoom と Transformer Prime で問題なく動作しています。Galaxy Tab 10.1 では、新しいページが選択された後にビデオ エラーが頻繁に発生します。私は得ています:

MediaPlayer Error(1,-214783648) 
VideoView Error: 1, -214783648

ページが選択されるとビデオが読み込まれ、onPrepared リスナーを使用して、読み込まれるとすぐにビデオの再生を開始します。onPrepared が呼び出される前にエラーがスローされたようですが、ビデオの最初のフレームが表示されるため、ロードされたように見えます。再生を遅らせてみましたが、何も改善されませんでした。失敗したときにOnErrorListenerからビデオを再度ロードしようとしましたが、時々うまくいくようです。Galaxy Tab は 3.1 でスタックしている唯一のタブレットですが、それが何か関係があるかどうかはわかりません。

4

2 に答える 2

1

私が知る限り、Galaxy Tab 10.1 (または Android 3.1... はまだ確認されていません) は、一度に 2 つのビデオしかデコードできません。私はviewPagerを使用しているので、いつでも3つのビデオがロードされる可能性があります。解決策 (くだらないものですが) は、ページが選択されるまでロードを遅らせ、他のビュー (最後のアクティブなビューを除く) が破棄されていることを確認することにより、2 つのビデオのみをロードすることです。

于 2012-03-21T20:31:05.870 に答える
0

数日前に同じ問題に直面しました。Views親愛なるanakin78zを破壊する必要はありません。

自分のタブレットに独自のコードを追加し、リスナーに次のコードを追加することで、タブレットで同じ問題を解決しましSimpleOnPageChangeListenerViewPager

@Override
public void onPageSelected(int position) {
    stopVideoView(position - 1);
    stopVideoView(position + 1);
    startVideoView(position);
}

private void startVideoView(int index) {
    VideoView videoView = getVideoView(index);
    if (videoView != null)
        videoView.start();
}

private void stopVideoView(int index) {
    VideoView videoView = getVideoView(index);
    if (videoView != null) {
        videoView.stopPlayback();
}

private VideoView getVideoView(int index){
    // Retrieve your videoviews here
}

この回答は少し遅すぎると確信していますが、誰かの役に立てば幸いです!

于 2013-02-22T11:44:14.000 に答える