O Visualizador de mídia mista é um visualizador de mídia. É compatível com conjuntos de mídia que contêm imagens, conjuntos de amostras, conjuntos de rotação, vídeos e Conjuntos de vídeo adaptável.
Uma miniatura na parte inferior do visualizador representa cada elemento de conjunto de mídia, juntamente com seu indicador de tipo de ativo. Quando um elemento de conjunto de amostras é selecionado, uma linha secundária de amostras é exibida para permitir a seleção da variação de cores dentro do conjunto de amostras. Imagens e elementos de conjunto de amostras oferecem suporte para zoom em modo contínuo ou em linha; os conjuntos de rotação são compatíveis com zoom e rotação. Os vídeos e os conjuntos de vídeos adaptáveis suportam todos os controles básicos de reprodução, desde que as legendas ocultas opcionais sejam exibidas sobre o conteúdo do vídeo. Um usuário pode alternar para tela cheia a qualquer momento clicando no botão de tela cheia. O visualizador tem um botão de fechamento opcional. Ele foi projetado para funcionar em desktops e dispositivos móveis.
O Visualizador de mídias mistas usa a reprodução de vídeo de transmissão HTML5 no formato HLS, em sua configuração padrão, sempre que o sistema subjacente suportar isso. Em sistemas que não suportam streaming de HTML5, o visualizador volta para a entrega de vídeo progressivo do HTML5.
As imagens que usam IR (Renderização de imagem) ou UGC (Conteúdo gerado pelo usuário) não são suportadas por esse visualizador.
Tipo de visualizador 505.
Consulte Requisitos e pré-requisitos do sistema.
O Visualizador de mídia mista representa um arquivo JavaScript principal e um conjunto de arquivos auxiliares (uma única inclusão do JavaScript com todos os componentes do SDK do visualizador usados por esse visualizador específico, ativos, CSS) baixados pelo visualizador em tempo de execução.
Você pode usar o Visualizador de mídia mista no modo pop-up usando a página HTML pronta para produção fornecida com os IS-Viewers. Ou você pode usar o visualizador no modo incorporado, onde ele é integrado em uma página da Web de destino usando a API documentada.
A tarefa de configurar e esfolar o visualizador é semelhante a outros visualizadores. Todo o esfolamento é obtido por meio de CSS personalizado.
Consulte Referência de comando comum a todos os visualizadores - Atributos de configuração e Referência de comando comum a todos os visualizadores - URL
O Visualizador de mídia mista é compatível com gestos de toque único e multitoque comuns em outros aplicativos móveis. Quando o visualizador não consegue processar o gesto de deslizamento de um usuário, ele encaminha o evento para o navegador da Web para executar uma rolagem de página nativa. Essa funcionalidade permite que um usuário navegue pela página mesmo se o visualizador ocupar a maior parte da área da tela do dispositivo.
Gesto |
Descrição |
---|---|
Toque único |
Ativa a exibição de flyout ou as alterações entre o nível de zoom primário e secundário. |
Toque duplo |
Quando em contínuo modo de zoom, amplia um nível até atingir a ampliação máxima, o próximo gesto de toque duplo é redefinido para o estado inicial. |
Toque e segure |
Quando em inline modo de zoom, ativa a imagem com zoom. |
Pinça |
Quando estiver no modo de zoom contínuo, o amplia ou diminui a imagem. |
Toque ou cintilação horizontal |
Quando o ativo atual é um conjunto de rotação e a imagem está em um estado de redefinição, ela gira pelo conjunto de rotação horizontalmente. Quando o ativo atual é um conjunto de rotação ou uma imagem e a imagem é ampliada, ele move a imagem horizontalmente. Se a imagem for movida para a borda da exibição e o deslizamento ainda for feito nessa direção, o gesto executará uma rolagem de página nativa. Percorre a lista de amostras na barra de amostras. |
Passar ou piscar na vertical |
Se a imagem estiver em um estado de redefinição, ela alterará o ângulo de exibição vertical caso um conjunto de rotação multidimensional seja usado. Em um conjunto de rotação unidimensional, ou quando um conjunto de rotação multidimensional está no último ou no primeiro eixo, de modo que o deslizamento vertical não resulta em alteração do ângulo de exibição vertical, o gesto executa a rolagem da página nativa. Quando o ativo atual é um conjunto de rotação ou uma imagem e a imagem é ampliada, move a imagem na vertical. Se a imagem for movida para a borda da exibição e o deslizamento ainda for feito nessa direção, o gesto executará a rolagem da página nativa. Se o gesto for feito dentro da área de amostras, ele executará uma rolagem de página nativa. |
O visualizador também suporta entrada de toque e entrada de mouse em dispositivos Windows com tela sensível ao toque e mouse. No entanto, esse suporte é limitado somente aos navegadores da Web Chrome, Internet Explorer 11 e Edge.
Esse visualizador é totalmente acessível por teclado.
Consulte Acessibilidade e navegação do teclado.
Páginas da Web diferentes têm necessidades diferentes para o comportamento do visualizador. Às vezes, uma página da Web fornece um link que, quando selecionado, abre o visualizador em uma janela separada do navegador. Em outros casos, é necessário incorporar o visualizador diretamente na página de hospedagem. No último caso, a página da Web pode ter um layout de página estático ou usar um design responsivo que é exibido de forma diferente em dispositivos diferentes ou para tamanhos de janela de navegador diferentes. Para acomodar essas necessidades, o visualizador aceita três modos de operação principais: pop-up, incorporação de tamanho fixo e incorporação responsiva de design.
No modo pop-up, o visualizador é aberto em uma janela ou guia separada do navegador da Web. Pega toda a área da janela do navegador e se ajusta caso o navegador seja redimensionado ou a orientação de um dispositivo móvel seja alterada.
O modo pop-up é o mais comum para dispositivos móveis. A página da Web carrega o visualizador usando window.open()
Chamada de JavaScript, configurada corretamente A
HTML ou qualquer outro método adequado.
É recomendável usar uma página de HTML pronta para uso no modo de operação pop-up. Nesse caso, é chamado de MixedMediaViewer.html e está localizado dentro do html5/ subpasta da sua implantação padrão do IS-Viewers:
<s7viewers_root>/html5/MixedMediaViewer.html
Você pode obter personalização visual aplicando CSS personalizado.
Este é um exemplo de código HTML que abre o visualizador em uma nova janela:
<a href="http://s7d1.scene7.com/s7viewers/html5/MixedMediaViewer.html?asset=Scene7SharedAssets/Mixed_Media_Set_Sample" target="_blank">Open popup viewer</a>
No modo incorporado, o visualizador é adicionado à página da Web existente, que pode já ter algum conteúdo de cliente não relacionado ao visualizador. O visualizador normalmente ocupa apenas parte do imóvel de uma página da web.
Os casos de uso principais são páginas da Web orientadas para desktops ou tablets, e também páginas de design responsivas que ajustam o layout automaticamente de acordo com o tipo de dispositivo.
A incorporação de tamanho fixo é usada quando o visualizador não altera seu tamanho após o carregamento inicial. Essa ação é a melhor opção para páginas da Web com layout estático.
A incorporação de design responsivo supõe que o visualizador deve ser redimensionado no tempo de execução em resposta à alteração de tamanho de seu contêiner DIV
. O caso de uso mais comum é adicionar um visualizador a uma página da Web que use um layout de página flexível.
No modo de incorporação de design responsivo, o visualizador se comporta de forma diferente dependendo da maneira como a página da Web dimensiona seu contêiner DIV
. Se a página da Web definir somente a largura do contêiner DIV
, deixando sua altura sem restrições, o visualizador escolhe automaticamente sua altura de acordo com a proporção de aspecto do ativo usado. Essa funcionalidade garante que o ativo se ajuste perfeitamente à exibição sem qualquer preenchimento nas laterais. Esse caso de uso é o mais comum para páginas da Web que usam estruturas de layout de design responsivas, como Bootstrap ou Foundation.
Caso contrário, se a página da Web definir a largura e a altura do contêiner do visualizador DIV
, o visualizador preenche apenas essa área e segue o tamanho fornecido pelo layout da página da Web. Um bom exemplo é incorporar o visualizador em uma sobreposição modal, onde a sobreposição é dimensionada de acordo com o tamanho da janela do navegador da Web.
Você adiciona o visualizador a uma página da Web fazendo o seguinte:
Adicionar o arquivo JavaScript do visualizador à sua página da Web.
Definição do contêiner DIV
.
Definição do tamanho do visualizador.
Criação e inicialização do visualizador.
Adicionar o arquivo JavaScript do visualizador à sua página da Web.
A criação de um visualizador requer a adição de uma tag de script no HTML head. Antes de usar a API do visualizador, verifique se você incluiu MixedMediaViewer.js. O MixedMediaViewer.js O arquivo está localizado sob a variável html5/js/ subpasta da sua implantação padrão do IS-Viewers:
<s7viewers_root>/html5/js/MixedMediaViewer.js
Você pode usar um caminho relativo se o visualizador for implantado em um dos servidores da Adobe Dynamic Media Classic e ele for exibido no mesmo domínio. Caso contrário, especifique um caminho completo para um dos servidores da Adobe Dynamic Media Classic que têm os IS-Viewers instalados.
O caminho relativo tem a seguinte aparência:
<script language="javascript" type="text/javascript" src="/s7viewers/html5/js/MixedMediaViewer.js"></script>
Referencie somente o JavaScript do visualizador principal include
na sua página. Não faça referência a arquivos JavaScript adicionais no código da página da Web que possam ser baixados pela lógica do visualizador em tempo de execução. Em particular, não faça referência diretamente ao SDK do HTML5 Utils.js
biblioteca carregada pelo visualizador de /s7viewers
caminho do contexto (o chamado SDK consolidado) include
). O motivo é que a localização da variável Utils.js
ou bibliotecas semelhantes do visualizador de tempo de execução são totalmente gerenciadas pela lógica do visualizador e as alterações de localização entre as versões do visualizador. O Adobe não mantém versões anteriores do visualizador secundário includes
no servidor.
Como resultado, colocar uma referência direta a qualquer JavaScript secundário include
usado pelo visualizador na página, interrompe a funcionalidade do visualizador no futuro, quando uma nova versão do produto é implantada.
Definição do DIV do contêiner.
Adicione um elemento DIV vazio à página onde você deseja que o visualizador apareça. O elemento DIV deve ter sua ID definida, pois essa ID é passada posteriormente para a API do visualizador. O DIV tem seu tamanho especificado por meio do CSS.
O espaço reservado DIV é um elemento posicionado, o que significa que a variável position
A propriedade CSS está definida como relative
ou absolute
.
Certifique-se de que o recurso de tela cheia funcione corretamente no Internet Explorer. Verifique para garantir que não haja outros elementos no DOM que tenham uma ordem de empilhamento mais alta do que o DIV do espaço reservado.
Este é um exemplo de um elemento DIV de espaço reservado definido:
<div id="s7viewer" style="position:relative"></div>
Definição do tamanho do visualizador
Este visualizador exibe miniaturas ao trabalhar com conjuntos de vários itens. Em sistemas de desktop, as miniaturas são colocadas abaixo da exibição principal. Ao mesmo tempo, o visualizador permite a troca do ativo principal durante o tempo de execução usando setAsset()
API. Como desenvolvedor, você tem controle sobre como o visualizador gerencia a área de miniaturas na parte inferior quando o novo ativo tem apenas um item. É possível manter o tamanho do visualizador externo intacto e permitir que a exibição principal aumente sua altura e ocupe a área de miniaturas. Ou você pode manter o tamanho da exibição principal estático e recolher a área do visualizador externo, permitindo que o conteúdo da página da Web se mova para cima. Em seguida, use a propriedade de página livre que é deixada das miniaturas.
Para manter os limites do visualizador externo intactos, defina o tamanho para .s7mixedmediaviewer
classe CSS de nível superior em unidades absolutas. O dimensionamento no CSS pode ser colocado diretamente na página HTML, ou em um arquivo CSS do visualizador personalizado e, posteriormente, atribuído a um registro predefinido do visualizador no Dynamic Media Classic, ou passado explicitamente usando o comando style.
Consulte Personalização do Visualizador de mídia mista para obter mais informações sobre o estilo do visualizador com CSS.
Este é um exemplo de definição do tamanho estático do visualizador externo em uma página de HTML:
#s7viewer.s7mixedmediaviewer {
width: 640px;
height: 480px;
}
Você pode ver o comportamento com uma área fixa do visualizador externo na seguinte página de exemplo. Observe que, quando você alternar entre conjuntos, o tamanho do visualizador externo não é alterado:
Para tornar as dimensões da exibição principal estáticas, defina o tamanho do visualizador em unidades absolutas para o interior Container
Componente do SDK usando .s7mixedmediaviewer .s7container
seletor de CSS ou usando stagesize
modificador.
Este é um exemplo de definição do tamanho do visualizador para o interior Container
Componente do SDK para que a área de visualização principal não altere seu tamanho ao alternar o ativo:
#s7viewer.s7mixedmediaviewer .s7container {
width: 640px;
height: 480px;
}
A página de exemplo a seguir mostra o comportamento do visualizador com um tamanho de exibição principal fixo. Observe que, ao alternar entre conjuntos, a exibição principal permanece estática e o conteúdo da página da Web se move verticalmente:
É possível definir a variável stagesize
modificador no registro predefinido do visualizador no Dynamic Media Classic ou passe-o explicitamente com o código de inicialização do visualizador com params
coleção. Ou, como uma chamada de API, conforme descrito na seção Referência de comando desta Ajuda, como em:
mixedMediaViewer.setParam("stagesize", "640,480");
Uma abordagem baseada em CSS é recomendada e é usada neste exemplo.
Criação e inicialização do visualizador.
Depois de concluir as etapas acima, crie uma instância de s7viewers.MixedMediaViewer
classe , passe todas as informações de configuração para seu construtor e chame init()
em uma instância do visualizador. As informações de configuração são passadas para o construtor como um objeto JSON. No mínimo, esse objeto deve ter a variável containerId
campo que contém o nome da ID do contêiner do visualizador e aninhado params
Objeto JSON com parâmetros de configuração compatíveis com o visualizador. Nesse caso, a variável params
O objeto deve ter pelo menos o URL de disponibilização de imagens passado como serverUrl
, o URL do servidor de vídeo passado como videoserverurl
propriedade e ativo inicial como asset
parâmetro. A API de inicialização baseada em JSON permite criar e iniciar o visualizador com uma única linha de código.
É importante ter o contêiner do visualizador adicionado ao DOM para que o código do visualizador possa encontrar o elemento do contêiner por sua ID. Alguns navegadores atrasam a criação de DOM até o fim da página da Web. Para ter compatibilidade máxima, chame a função init()
método antes de fechar BODY
ou no corpo onload()
evento.
Ao mesmo tempo, o elemento de contêiner ainda não deve fazer parte do layout da página da Web. Por exemplo, pode estar oculto usando display:none
estilo atribuído a ele. Nesse caso, o visualizador atrasa o processo de inicialização até o momento em que a página da Web traz o elemento do contêiner de volta ao layout. Quando essa ação ocorre, o carregamento do visualizador é retomado automaticamente.
Este é um exemplo de criação de uma instância do visualizador, transmitindo as opções mínimas necessárias de configuração ao construtor e chamando a função init()
método . O exemplo assume mixedMediaViewer
é a instância do visualizador; s7viewer
é o nome do espaço reservado DIV
; http://s7d1.scene7.com/is/image/ é o URL de disponibilização de imagens; http://s7d1.scene7.com/is/content/ é o URL do servidor de vídeo; e Scene7SharedAssets/Mixed_Media_Set_Sample é o ativo:
<script type="text/javascript">
var mixedMediaViewer = new s7viewers.MixedMediaViewer({
"containerId":"s7viewer",
"params":{
"asset":"Scene7SharedAssets/Mixed_Media_Set_Sample",
"serverurl":"http://s7d1.scene7.com/is/image/",
"videoserverurl":"http://s7d1.scene7.com/is/content/"
}
}).init();
</script>
<script type="text/javascript">
mixedMediaViewer.init();
</script>
O código a seguir é um exemplo completo de uma página trivial da Web que incorpora o Visualizador de mídia mista com um tamanho fixo:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/MixedMediaViewer.js"></script>
<style type="text/css">
#s7viewer.s7mixedmediaviewer {
width: 640px;
height: 480px;
}
</style>
</head>
<body>
<div id="s7viewer" style="position:relative"></div>
<script type="text/javascript">
var mixedMediaViewer = new s7viewers.MixedMediaViewer({
"containerId":"s7viewer",
"params":{
"asset":"Scene7SharedAssets/Mixed_Media_Set_Sample",
"serverurl":"http://s7d1.scene7.com/is/image/",
"videoserverurl":"http://s7d1.scene7.com/is/content/"
}
}).init();
</script>
</body>
</html>
Com a incorporação responsiva do design, a página da Web normalmente tem algum tipo de layout flexível em vigor que determina o tamanho de tempo de execução do contêiner do visualizador DIV
. No exemplo a seguir, suponha que a página da Web permita o contêiner do visualizador DIV
para obter 40% do tamanho da janela do navegador da Web, deixando sua altura sem restrições. O código de HTML da página da Web seria semelhante ao seguinte:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.holder {
width: 40%;
}
</style>
</head>
<body>
<div class="holder"></div>
</body>
</html>
Adicionar o visualizador a essa página é semelhante às etapas para incorporação de tamanho fixo. A única diferença é que você não precisa definir explicitamente o tamanho do visualizador.
Todas as etapas acima são as mesmas que com a incorporação de tamanho fixo. Adicione o DIV do contêiner ao "holder"
DIV. O código a seguir é um exemplo completo. Observe como o tamanho do visualizador muda quando o navegador é redimensionado e como a proporção do visualizador corresponde ao ativo.
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/MixedMediaViewer.js"></script>
<style type="text/css">
.holder {
width: 40%;
}
</style>
</head>
<body>
<div class="holder">
<div id="s7viewer" style="position:relative"></div>
</div>
<script type="text/javascript">
var mixedMediaViewer = new s7viewers.MixedMediaViewer({
"containerId":"s7viewer",
"params":{
"asset":"Scene7SharedAssets/Mixed_Media_Set_Sample",
"serverurl":"http://s7d1.scene7.com/is/image/",
"videoserverurl":"http://s7d1.scene7.com/is/content/"
}
}).init();
</script>
</body>
</html>
A página de exemplos a seguir ilustra os usos mais reais da incorporação responsiva de design com altura irrestrita:
Localização de demonstração alternativa
Se houver incorporação de tamanho flexível com largura e altura definidas, o estilo da página da Web será diferente. Ele fornece ambos os tamanhos para a variável "holder"
O DIV e o centraliza na janela do navegador. Além disso, a página da Web define o tamanho da variável HTML
e BODY
para 100%.
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
html, body {
width: 100%;
height: 100%;
}
.holder {
position: absolute;
left: 20%;
top: 20%;
width: 60%;
height: 60%;
}
</style>
</head>
<body>
<div class="holder"></div>
</body>
</html>
O restante das etapas de incorporação são idênticas às etapas usadas para incorporação de design responsivo com altura irrestrita. O exemplo resultante é o seguinte:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/MixedMediaViewer.js"></script>
<style type="text/css">
html, body {
width: 100%;
height: 100%;
}
.holder {
position: absolute;
left: 20%;
top: 20%;
width: 60%;
height: 60%;
}
</style>
</head>
<body>
<div class="holder">
<div id="s7viewer" style="position:relative"></div>
</div>
<script type="text/javascript">
var mixedMediaViewer = new s7viewers.MixedMediaViewer({
"containerId":"s7viewer",
"params":{
"asset":"Scene7SharedAssets/Mixed_Media_Set_Sample",
"serverurl":"http://s7d1.scene7.com/is/image/",
"videoserverurl":"http://s7d1.scene7.com/is/content/"
}
}).init();
</script>
</body>
</html>
Em vez de usar a inicialização baseada em JSON, é possível usar a API baseada em setter e o construtor no-args. O uso desse construtor de API não utiliza parâmetros e parâmetros de configuração são especificados usando setContainerId()
, setParam()
e setAsset()
Métodos de API, com chamadas JavaScript separadas.
O exemplo a seguir ilustra o uso da incorporação de tamanho fixo com a API baseada em setter:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/MixedMediaViewer.js"></script>
<style type="text/css">
#s7viewer.s7mixedmediaviewer {
width: 640px;
height: 480px;
}
</style>
</head>
<body>
<div id="s7viewer" style="position:relative"></div>
<script type="text/javascript">
var mixedMediaViewer = new s7viewers.MixedMediaViewer();
mixedMediaViewer.setContainerId("s7viewer");
mixedMediaViewer.setParam("serverurl", "http://s7d1.scene7.com/is/image/");
mixedMediaViewer.setAsset("Scene7SharedAssets/Mixed_Media_Set_Sample");
mixedMediaViewer.init();
</script>
</body>
</html>