Я не могу найти никакой информации о том, как обрабатывать такие ошибки:
E/VLC: [7126d274] core input: Your input can't be opened
E/VLC: [7126d274] core input: VLC is unable to open the MRL ...
Это приводит к сбою активности, когда я пытаюсь загрузить другой URI сразу после этой ошибки, поэтому я хотел бы выпустить и воссоздать проигрыватель, когда он появится.
Спасибо
EDIT: Вот как я создаю проигрыватель один раз, в onResume
private void createPlayer() {
releasePlayer();
try {
ArrayList<String> options = new ArrayList<String>();
options.add("--aout=opensles");
options.add("--audio-time-stretch");
options.add("-vvv"); // verbosity
libvlc = new LibVLC(options);
libvlc.setOnNativeCrashListener(this);
mSurfaceHolder.setKeepScreenOn(true);
// Create media player
mMediaPlayer = new MediaPlayer(libvlc);
mMediaPlayer.setEventListener(mPlayerListener);
// Set up video output
final IVLCVout vout = mMediaPlayer.getVLCVout();
vout.setVideoView(mSurfaceView);
vout.addCallback(StandardPlayerMain.this);
vout.attachViews();
} catch (Exception e) {
Toast.makeText(this, "Error creating player!", Toast.LENGTH_LONG).show();
}
}
И вот как я начинаю играть каждый URI:
private void playMedia(String mediaString)
{
if(mMediaPlayer == null) {
createPlayer();
return;
}
if(mMediaPlayer.isPlaying()) {
mMediaPlayer.stop();
}
Uri mUri = Uri.parse(mediaString);
Media m = new Media(libvlc, mUri);
m.setHWDecoderEnabled(false, false);
try{
mMediaPlayer.setMedia(m);
mMediaPlayer.play();
}
catch (Exception e)
{
Log.v("myapp", e.getMessage());
}
}