Как изменить звуковую дорожку в MediaPlayer

#java #android-mediaplayer

Вопрос:

заранее спасибо.. Я внедряю функцию звуковой дорожки в своем приложении для видеоплеера, я успешно загружаю дорожку и показываю ее в диалоговом окне, но моя проблема в том, что, когда я пытаюсь изменить дорожку, дорожка не меняется, посмотрите в моем коде, и кто-нибудь может сказать, где я ошибаюсь

  videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mediaPlayer) {
                videoViewSeekBar.setMax(videoView.getDuration());
                mediaPlayer.start();
                checkMultiAudioTrack(mediaPlayer);
                }
            });
 

Вот метод

 private void checkMultiAudioTrack(MediaPlayer mediaPlayer) {
    MediaPlayer.TrackInfo trackInfos[] = mediaPlayer.getTrackInfo();
    ArrayList<Integer> audioTracksIndex = new ArrayList<>();

    for (int i = 0; i < trackInfos.length; i  ) {
        if (trackInfos[i].getTrackType() == MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_AUDIO) {
            audioTracksIndex.add(i);
        }
    }
    if (trackInfos.length > 2) {
        AlertDialog.Builder builder = new AlertDialog.Builder(VideoPlayerActivity.this);
        builder.setTitle("Audio Tracks");

        String values[] = new String[audioTracksIndex.size()];
        for (int i = 0; i < audioTracksIndex.size(); i  ) {
            values[i] = String.valueOf("Track "   i);
        }
        /*
         * SingleChoice means RadioGroup
         * */
        builder.setSingleChoiceItems(values, 0, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                mediaPlayer.selectTrack(which);
                Toast.makeText(VideoPlayerActivity.this, "Track "   which   " Selected", Toast.LENGTH_SHORT).show();
                dialog.dismiss();
            }
        });
        builder.show();
    }
}