Per selezionare le tracce audio per l'associazione tardiva dell'audio, implementare IAAConfig.
A… | Chiama… |
---|---|
Ottieni un elenco dei brani AA disponibili | getAudioTracks() |
Ottieni il brano selezionato corrente | getSelectedAudioTrack() |
Seleziona un brano AA | selectAlternateAudioTrack() |
L'esempio di codice seguente illustra come l'implementazione di riferimento ottiene le tracce audio dal TVSDK e assegna la traccia selezionata all'elemento multimediale associato:
/**
* Displays a chooser dialog, allowing the user to select the desired
* alternate audio track.
*/
private void displayAlternateAudioDialog() {
PrimetimeReference.logger.i(LOG_TAG + "#selectAlternateAudio",
"Displaying alternate audio chooser dialog.");
final int selectedAlternateAudio = aaManager.getSelectedAudioTrackIndex();
if (selectedAlternateAudio != AAManagerOn.INVALID_AUDIO_TRACK) {
final String items[] = aaManager.getAudioTracks();
new AlertDialog.Builder(getActivity())
.setTitle(R.string.PlayerControlAADialogTitle)
.setSingleChoiceItems(items, selectedAlternateAudio,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
boolean result =
aaManager.selectAlternateAudioTrack(whichButton);
if (result) {
PrimetimeReference.logger.i(LOG_TAG
+ "#selectAlternateAudio",
"Audio track selection successful");
} else {
PrimetimeReference.logger.i(LOG_TAG
+ "#selectAlternateAudio",
"Audio track selection failed");
}
// Dismiss dialog.
dialog.cancel();
}
}).setNegativeButton(R.string.PlayerControlCCDialogCancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
// Just cancel the dialog.
}
}).show();
} else {
PrimetimeReference.logger.i(LOG_TAG + "#selectAlternateAudioFailed",
"Unable to detect the currently selected audio track.");
Toast.makeText(getActivity(),
"Unable to detect the currently selected audio track",
Toast.LENGTH_SHORT).show();
}
}