diff --git a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/AndroidMediaPlayer.java b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/AndroidMediaPlayer.java index 562be590b..e6bc9d1e9 100644 --- a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/AndroidMediaPlayer.java +++ b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/AndroidMediaPlayer.java @@ -225,15 +225,23 @@ public class AndroidMediaPlayer extends AbstractMediaPlayer implements MediaPlay return mMediaPlayer.getAudioSessionId(); } + private int getTrack(int type) { + try { + return mMediaPlayer.getSelectedTrack(type); + } catch (Exception e) { + return -1; + } + } + @Override public int getSelectedTrack(int type) { switch (type) { case ITrackInfo.MEDIA_TRACK_TYPE_VIDEO: - return mMediaPlayer.getSelectedTrack(MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_VIDEO); + return getTrack(MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_VIDEO); case ITrackInfo.MEDIA_TRACK_TYPE_AUDIO: - return mMediaPlayer.getSelectedTrack(MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_AUDIO); + return getTrack(MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_AUDIO); case ITrackInfo.MEDIA_TRACK_TYPE_TEXT: - return mMediaPlayer.getSelectedTrack(MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_TIMEDTEXT); + return getTrack(MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_TIMEDTEXT); default: return -1; }