Мне нужно изменить звуковую дорожку с Android. Как упоминалось в официальном акте do c, я пытался добавить треки, используя следующий код:
MediaTrack audio1 = new MediaTrack.Builder(1, MediaTrack.TYPE_AUDIO)
.setName("Audio 1")
.setContentId(trackId)
.setLanguage("en")
.build();
MediaTrack audio2 = new MediaTrack.Builder(2, MediaTrack.TYPE_AUDIO)
.setName("Audio 2")
.setContentId(trackId2)
.setLanguage("it")
.build();
List tracks = new ArrayList();
tracks.add(audio1);
tracks.add(audio2);
MediaInfo mediaInfo = MediaInfo.Builder(url)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType(getContentType())
.setMetadata(getMetadata())
.setMediaTracks(tracks)
.build();
Для setContentId
Я получил идентификаторы треков, используя ffmpeg и mediainfo, но это не работает. Я также попытался извлечь аудиодорожки и передал URL в аудиофайл в setContentId
, но он все еще не работает.
Для изменения текущей дорожки я попытался использовать метод setActiveMediaTracks
, но я Вы также пытались изменить трек с кода CAF js:
playerManager.addEventListener(
cast.framework.events.EventType.PLAYER_LOAD_COMPLETE, () => {
const audioTracksManager = playerManager.getAudioTracksManager();
// Get all audio tracks
const tracks = audioTracksManager.getTracks();
// Choose the first audio track to be active by specifying its ID
audioTracksManager.setActiveById(tracks[0].trackId);
});
У кого-нибудь есть идеи?