要设置指定音轨,请使用ExoPlayer的TrackSelector接口。您可以使用DefaultTrackSelector类来实现此功能。以下是设置指定音轨的示例代码:

// 创建一个DefaultTrackSelector对象 DefaultTrackSelector trackSelector = new DefaultTrackSelector();

// 获取当前的播放器 SimpleExoPlayer player = ExoPlayerFactory.newSimpleInstance(context, trackSelector);

// 获取可用的音轨 MappingTrackSelector.MappedTrackInfo mappedTrackInfo = trackSelector.getCurrentMappedTrackInfo(); if (mappedTrackInfo != null) { // 获取音频轨道 int rendererIndex = 1; // 音频轨道的索引 TrackGroupArray trackGroups = mappedTrackInfo.getTrackGroups(rendererIndex); if (trackGroups.length > 0) { // 获取当前所选的音轨 int currentTrackIndex = player.getSelectedTrack(rendererIndex, C.TRACK_TYPE_AUDIO); // 获取第一个音轨 int firstTrackIndex = 0; // 获取第二个音轨 int secondTrackIndex = 1; // 设置所选的音轨 player.setSelectedTrack(rendererIndex, C.TRACK_TYPE_AUDIO, secondTrackIndex); } }

在上面的代码中,我们首先创建了一个DefaultTrackSelector对象,然后获取了当前的播放器。接下来,我们获取了可用的音轨,并检查是否有音频轨道。如果有,我们获取当前所选的音轨,并使用setSelectedTrack()方法将其更改为第二个音轨。


原文地址: https://www.cveoy.top/t/topic/b72l 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录