Panoramica

Ultimo aggiornamento: 2023-09-21

L'audio alternativo consente di alternare le tracce audio disponibili per una traccia video. Gli utenti possono selezionare la traccia nella lingua preferita durante la riproduzione del video.

Quando TVSDK crea MediaPlayerItem per il video corrente, crea un AudioTrack per ogni traccia audio disponibile. L'elemento contiene un name proprietà, una stringa che in genere contiene una descrizione riconoscibile dall'utente della lingua di tale brano. L'elemento contiene inoltre informazioni sull'utilizzo predefinito del brano. Quando è il momento di riprodurre il video, è possibile richiedere un elenco delle tracce audio disponibili, consentire facoltativamente all'utente di selezionare una traccia e impostare il video per la riproduzione con la traccia selezionata.

SUGGERIMENTO

Sebbene raro, se dopo la creazione di TVSDK diventa disponibile una traccia audio aggiuntiva, MediaPlayerItem, TVSDK genera un MediaPlayerItem.AUDIO_TRACK_UPDATED evento.

API aggiunte

Per supportare l’audio alternativo sono state aggiunte le seguenti API:

hasAlternateAudio

Se il supporto specificato dispone di una traccia audio alternativa, diversa da quella predefinita, questa funzione booleana restituisce true. Se non è presente alcuna traccia audio alternativa, la funzione restituisce false.

boolean hasAlternateAudio();

getAudioTracks

Questa funzione restituisce l’elenco di tutte le tracce audio attualmente disponibili in un supporto specificato.

List<AudioTrack> getAudioTracks();

getSelectedAudioTrack

Questa funzione restituisce la traccia audio alternativa attualmente selezionata e proprietà come lingua. È inoltre possibile estrarre la selezione automatica del brano.

AudioTrack getSelectedAudioTrack();

selectAudioTrack

Questa funzione seleziona una traccia audio alternativa da riprodurre.

void selectAudioTrack(AudioTrack audioTrack);

Ad esempio:

private void onPrepared() {
    // Select the AA track in PREPARED State
    boolean hasAlternateAudio = _mediaPlayer.getCurrentItem().hasAlternateAudio();
    if(hasAlternateAudio) {
        AudioTrack selectedAudioTrack =
          _mediaPlayer.getCurrentItem().getSelectedAudioTrack();

        if (selectedAudioTrack == null) {
            // Selecting default audio track
            // If index is 1 it will select alternate audio track
            selectedAudioTrack = _mediaPlayer.getCurrentItem().getAudioTracks().get(0);
        }
    }
    _mediaPlayer.getCurrentItem().selectAudioTrack(selectedAudioTrack);
}

In questa pagina