Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在MediaPlayer中更改音频曲目_Java_Android Mediaplayer - Fatal编程技术网

Java 如何在MediaPlayer中更改音频曲目

Java 如何在MediaPlayer中更改音频曲目,java,android-mediaplayer,Java,Android Mediaplayer,提前谢谢。。 我正在视频播放器应用程序中实现音频曲目功能 我已成功加载轨迹并在对话框中显示,但我的问题是,当我尝试更改轨迹时,轨迹没有更改。请查看我的代码,有人能告诉我哪里出错了吗 videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer 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();
    }
}
private void checkMultiAudioTrack(MediaPlayer){
MediaPlayer.TrackInfo trackInfos[]=MediaPlayer.getTrackInfo();
ArrayList audioTracksIndex=新的ArrayList();
对于(int i=0;i2){
AlertDialog.Builder=新建AlertDialog.Builder(VideoPlayerActivity.this);
builder.setTitle(“音轨”);
字符串值[]=新字符串[audioTracksIndex.size()];
对于(int i=0;i