概觀

上次更新: 2023-09-21

替代音訊可讓您切換視訊曲目的可用音軌。 使用者可以選擇播放視訊時偏好的語言追蹤。

當TVSDK建立 MediaPlayerItem 例項中,會建立 AudioTrack 每個可用音軌的專案。 專案包含 name 屬性,這個字串通常包含使用者可辨識的該曲目語言描述。 此專案也包含預設是否要使用該追蹤的相關資訊。 當播放視訊時,您可以要求可用的音訊曲目清單,選擇性地允許使用者選取曲目,並設定視訊播放選取的曲目。

秘訣

雖然很罕見,但在TVSDK建立 MediaPlayerItem,TVSDK會觸發 MediaPlayerItem.AUDIO_TRACK_UPDATED 事件。

新增API

已新增下列API以支援替代音訊:

hasAlternateAudio

如果指定的媒體有預設音軌以外的替代音軌,此布林值函式會傳回 true. 如果沒有替代音軌,函式會傳回 false.

boolean hasAlternateAudio();

getAudioTracks

此函式傳回指定媒體中所有目前可用的音訊曲目的清單。

List<AudioTrack> getAudioTracks();

getSelectedAudioTrack

此函式傳回目前選取的替代音軌和屬性,例如語言。 也可以擷取自動選取軌跡。

AudioTrack getSelectedAudioTrack();

selectAudioTrack

此函式選取要播放的替代音軌。

void selectAudioTrack(AudioTrack audioTrack);

例如:

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);
}

此頁面上的