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);
}