2012-03-20 50 views
2

私は、ViewPagerを使用してビデオを表示してページを閲覧できるタブレットアプリケーションを開発中です。ビデオはVideoViewを使用しています。それはXoomとTransformer Primeでうまくいきます。ギャラクシータブ10.1では、新しいページが選択された後のビデオエラーが頻繁に選択されています。 私が取得しています:ページが選択されているようVideoView/MediaPlayerでビデオ再生に失敗するエラーが発生しました

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

ビデオがロードされていると私はすぐにそれがロードされるように、ビデオの再生を開始するonPreparedリスナーを使用しています。 onPreparedが呼び出される前にエラーがスローされているようですが、ビデオの最初のフレームが表示されるため、ロードされているようです。 私は再生を遅らせようとしましたが、何も改善されませんでした。私はOnErrorListenerからビデオを再度ロードしようとしましたが、失敗してしまっているようです。ギャラクシータブは3.1上に固まった唯一のタブレットですが、それが何かと関係があるかどうかはわかりません。

答えて

1

私がギャラクシータブ10.1(またはAndroid 3.1 ...と見なされている)を伝えることができるのは、一度に2つのビデオのみをデコードできることです。私はviewPagerを使用しているので、任意の時点で3つのビデオが読み込まれる可能性があります。解決策は、ページが選択されるまで負荷を遅らせ、他のビュー(最後のアクティブなビューを除く)が破棄されていることを確認することによって、2つのビデオをロードすることだけです。

0

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

私は私のViewPagerに自分のSimpleOnPageChangeListenerを追加することによって、私のリスナーに次のコードを追加することで、私のタブレットで同じ問題を解決:

@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 
} 

私はこのレスポンスが遅すぎる少し来ることをかなり確信しています私はそれが誰かを助けることを願っています!

関連する問題