Partilhar via


Sobre a origem do Sequencer

A fonte do sequenciador permite que um aplicativo reproduza uma coleção de fontes de mídia sequencialmente, com transições perfeitas entre as fontes. A origem do sequenciador pode ser usada para os seguintes cenários:

  • Crie uma lista de reprodução que alterne perfeitamente de uma fonte de mídia para outra.
  • Reproduzir fluxos de várias fontes simultaneamente; Por exemplo, reproduza o áudio de um arquivo com o vídeo de outro.
  • Alternar entre fluxos em diferentes fontes de mídia em entradas consecutivas de listas de reprodução; por exemplo, uma lista de reprodução pode ter entradas que partilham a mesma fonte de vídeo, enquanto cada entrada contém uma fonte de áudio diferente.

Para cada elemento de uma lista de reprodução, a aplicação cria uma topologia separada. As fontes de mídia nessas topologias são referidas como fontes nativas, para distingui-las da fonte sequenciadora. Durante a reprodução, toda a sequência de topologias é chamada de apresentação , e cada topologia dentro da sequência é chamada de segmento .

A reprodução é controlada pelo Media Session, que fornece controlos de transporte, tais como reproduzir, pausar e parar. A Media Session também gere o tempo de apresentação e envia eventos para a aplicação. (Os eventos da origem do sequenciador são encaminhados para o aplicativo por meio da Sessão de Mídia.)

Para criar uma lista de reprodução, o aplicativo cria uma ou mais topologias de reprodução e as enfileira na fonte do sequenciador na ordem desejada de reprodução. Internamente, a fonte do sequenciador modifica as topologias para que os nós de origem apontem para a fonte do sequenciador em vez da fonte nativa. O aplicativo envia essas topologias modificadas, em vez das topologias originais, para a Sessão de Mídia. Isso permite que a fonte do sequenciador agregue as fontes nativas e se comunique com a Sessão de Mídia.

Para alcançar transições fluidas entre segmentos, a fonte sequenciadora prepara previamente cada segmento. Enquanto um segmento está sendo reproduzido, e antes que seja hora de reproduzir o segmento seguinte, a fonte do sequenciador dispara um evento MENewPresentation que contém um descritor de apresentação. O aplicativo usa esse descritor de apresentação para obter a topologia para o próximo segmento da apresentação e enfileira a topologia na sessão de mídia.

A ilustração a seguir mostra o fluxo de dados para entradas na lista de reprodução através da origem do sequenciador. O aplicativo usa o resolvedor de origem para criar as fontes nativas, cria topologias para cada segmento e enfileira as topologias na origem do sequenciador.

diagrama mostrando o fluxo de dados dos segmentos ImfMediaSession, ImfsequencerSource e Playlist que levam a ImfMediaSource

Como criar uma lista de reprodução

Topologias

Usando a fonte do Sequenciador

Sequenciador de origem