0

Android textureview を使用してビデオ プレイリストを再生しています。映画が終了するたびに、データ ソースをリロードして次のビデオを再生する endstate をリッスンします。EXOPLAYER を使用して、テクスチャビューのサーフェスをプレーヤーに送信しています。プレイリストは正常に動作しますが、ビデオを切り替えると、オーディオが表示されるだけでビデオが表示されず、30分間実行した後にデバイスが再起動する場合があります。誰かがこの原因を見つけるのを手伝ってくれませんか。ありがとう..関連するコードを添付しています

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.adplayertexture);   
        AdplayerTexture=(TextureView)findViewById(R.id.AdPlayerTexture);
        AdplayerTexture.setBackgroundColor(Color.BLACK);
            AdplayerTexture.setSurfaceTextureListener(this);
      }
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width,
        int height) {

     AdPlayerSurface = new Surface( surface); 
     playMedia(AdPlayerSurface);
}


private void playMedia(Surface surface){
    mediaplayer=new ExoPlayer();
    mediaplayer.play(this,Videopathlist[CurrentVideoIndex],surface;
     mediaplayer.addListener(this);   
   }

@Override
public void onStateChanged(boolean playWhenReady, int playbackState) {

    if (playbackState == ExoPlayer.STATE_ENDED) {
    //releasing the resources   
        mediaplayer.DestroyPlayer();
    AdPlayerSurface.release();

    AdPlayerSurface=new Surface(AdplayerTexture.getSurfaceTexture());
        CurrentVideoIndex++;
    playMedia(AdPlayerSurface);
    }
4

0 に答える 0