Existe uma maneira de incorporar players de mídia (áudio/vídeo) dentro de uma tabela?

Estou me perguntando se existe uma maneira de organizar arquivos de mídia em algum tipo de tabela. Esta é minha abordagem atual:

Teste 1:

Teste 2:

Teste 3:

Mas gostaria de poder fazer algo como isso (com os players incorporados em vez da URL):

Ah, isso vai ser complicado. Isso é essencialmente um pedido para forçar um “onebox completo” em algum lugar de um link que não está no início de uma linha. Acho que, em condições muito raras como a que você tem aqui, isso pode ser útil.

Eu meio que apoio uma mudança que permitiria algo assim para os casos ultra ninja onde você quer forçar um onebox no meio de uma linha:

<a href="onebox_url" type=onebox>...</a>

O problema é que todo o nosso estilo de onebox atualmente assume que é a única coisa na linha e ocupa toda a largura, então várias suposições precisariam ser alteradas.

Isso também seria útil quando você quiser mostrar oneboxes dentro de uma seção de detalhes.

Não sei se isso ajudaria, mas uma interface alternativa poderia ser estender a sintaxe BBCode. Algo como:

[audio src="https://file.m4a"][/audio]

Ou até mesmo:

[inline_onebox]https://file.m4a[/inline_onebox]

Ou podemos simplesmente permitir as tags audio, video e source? Hoje, é impossível postar um vídeo no Discourse com múltiplas fontes (um mp4 e um webm) para que ele seja reproduzido em todos os dispositivos.

Você já considerou permitir Iframes e publicar a tabela em outro lugar?

@martin Obrigado pelo seu PR incrível! Agora os links de áudio funcionam mesmo quando há caracteres à esquerda da URL! :tada: (muitos dos meus usuários tiveram dificuldades com esse detalhe, então ficará muito mais fácil para eles).

Percebi que agora os arquivos de áudio funcionam dentro de details:

Exemplo

Eu esperava que eles também funcionassem dentro de tabelas em markdown, mas vejo que isso ainda não funciona:

nome arquivo de áudio aqui
exemplo ![New Recording 23

Pensei que o problema pudesse ser o caractere de pipe |, mas também não funciona com tabelas HTML:

nome arquivo de áudio aqui
exemplo ![New Recording 23|video](upload://g3KMoFLMKmekLPcoBovHQCD71eU.mp4)

Isso é algo que poderia ser incluído em uma versão futura?

As tabelas Markdown funcionam, mas você precisa escapar o | com , por exemplo \|. É um problema um pouco chato com os pipes, pois as tabelas em MD já têm semântica para eles.

Estou meio aberto a adicionar outro caractere opcional que possamos usar ali como separador. A vírgula não é ideal, pois as pessoas podem usá-la para descrições.

Esta é uma solução alternativa bastante boa por enquanto. Obrigado por apontar isso!

O único problema que encontrei foram erros 429 (muitas solicitações) ao tentar editar uma tabela de tamanho médio com vários arquivos de áudio (na verdade, o mesmo arquivo repetido). Quando tentei salvar as alterações, apareceu um modal do Discourse e isso foi exibido no console:

A única coisa que fiz foi adicionar três linhas a esta tabela:

Não sei se esse é o comportamento esperado ou se há uma maneira de fazer o carregamento sob demanda (lazy-load) dos recursos para evitar o erro (consegui fazer isso após várias tentativas).

Hmm, tenho uma curiosidade: se colocarmos atualmente um MP3 de 40 MB em uma página, os navegadores baixam tudo antes de reproduzir?

Um carregador preguiçoso (lazy loader) certamente faz sentido se isso estiver acontecendo atualmente. A única coisa que perderíamos seria a duração, mas poderíamos descobrir isso no servidor.