2017-11-16 7 views
0

Wenn ich die Taste drücken, um zur vorherigen Aktivität zurückzukehren, exoplayer weiter Ton zu spielen. Warum?Problem mit ExoPlayer

Dies ist mein Code:

public class MainActivity extends AppCompatActivity { 

    SimpleExoPlayerView exoPlayerView; 
    SimpleExoPlayer exoPlayer; 
    String videoURL = "myurl"; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     exoPlayerView = (SimpleExoPlayerView) findViewById(R.id.exo_player_view); 
    try { 


     BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter(); 
     TrackSelector trackSelector = new DefaultTrackSelector(new AdaptiveTrackSelection.Factory(bandwidthMeter)); 
     exoPlayer = ExoPlayerFactory.newSimpleInstance(this, trackSelector); 

     Uri videoURI = Uri.parse(videoURL); 

     DefaultHttpDataSourceFactory dataSourceFactory = new DefaultHttpDataSourceFactory("exoplayer_video"); 
     ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory(); 
     MediaSource mediaSource = new ExtractorMediaSource(videoURI, dataSourceFactory, extractorsFactory, null, null); 

     exoPlayerView.setPlayer(exoPlayer); 
     exoPlayer.prepare(mediaSource); 
     exoPlayer.setPlayWhenReady(true); 
    }catch (Exception e){ 
     Log.e("MainAcvtivity"," exoplayer error "+ e.toString()); 
    } 

    } 
} 

Jeder Vorschlag?

Antwort

1

ist es, weil Sie die Ressource nicht freigegeben haben. Verwenden Sie einfach diesen Code

@Override 
public void onPause() { 
super.onPause(); 
if (Util.SDK_INT <= 23) { 
exoPlayer.release(); 
} 

} 

@Override 
public void onStop() { 
super.onStop(); 
if (Util.SDK_INT > 23) { 
    exoPlayer.release(); 
} 
} 
+0

ExoPlayer. Release() oder ExoPlayer.stop()? Was ist der Unterschied? – Sisso

+0

exoPlayer.stop() beendet die Wiedergabe des aktuell aktiven Video-Players, gibt aber die Ressource nicht frei, aber exoPlayer.release() entfernt alle derzeit vom Player gehaltenen Video-Ressourcen. –