2012-05-10 13 views
0

基本的に、WebViewで.gifを表示しているときに、VideoViewを設定して(MediaPlayerよりも多くの機能を)再生します。私は複数のスレッドや何かが必要かどうかはわかりませんが、同時に両方を実行しようとするたびにクラッシュするか、音楽を再生しません。私の "Content View"がWebViewに設定されているので、私のmain.xmlのオブジェクト(ビデオビューのようなもの)にアクセスできないのは本当ですか?コンテキストがWebViewに設定されているときにVideoViewが再生されない

コード: setContentView(R.layout.main);私はここで何をすべきかわからない、明らかにWebViewのにコンテキストを変更しない場合

musicPlayer = (VideoView)findViewById(R.id.player); 


    //run gif 
    view = new GifWebView(this, "file:///android_res/raw/kk.gif"); 
    setContentView(view); 



    //start player 

    musicPlayer.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + musicList[0])); 
    musicCounter =0; 

    musicPlayer.setOnCompletionListener(TrackRepeater); 
    musicPlayer.requestFocus(); 
    musicPlayer.start(); 

プレーヤーが動作します。乾杯。

答えて

1

VideoViewを使用して音楽を再生する理由を詳しく説明してください。 MediaPlayerの

VideoViewより

多くの機能は、基本的にSurfaceViewとMediaPlayerのためのラッパーです。 VideoViewの特別な機能は、使用していない画面上のビデオを再生することに関連するものにすぎないはずです。 MediaPlayerでそれを使用するための具体的な理由は何ですか?

あなたの活動の内容を変更することによって、あなたはVideoViewを壊していることが正しいと思います。 setContentView()を何度も呼び出さずにそれを行う方法を理解する必要があります。

main.xmlレイアウトの親ビューへの参照を取得し、その上で.addView()を呼び出して、setContentView()を呼び出す代わりにGifWebViewを追加します。

xmlレイアウトにGifWebViewの宣言を追加して、VideoViewと同じ方法で参照を取得します。

関連する問題