|   |   | 
| 
 | Воспроизведение видео в новых платформах Webkit | ☑ | ||
|---|---|---|---|---|
| 0
    
        tixis 15.02.21✎ 11:45 | 
        Как воспроизводить видео и отображать картинки в новых платформах, где используется webkit?
 Пробовал для картинок использовать такой метод, но в обычных формах было HTML.УстановитьТекст(), в управляемых нет такого метода. И код ниже способен только картинки вывести (если заработает) а как выводить видео? СтрокаНТМL=" |<!DOCTYPE html> |<html> |<center> |"; СтрокаНТМL=СтрокаНТМL+" |<img src=""data:image/jpeg;base64, |"; СтрокаНТМL=СтрокаНТМL+Base64Строка(Новый ДвоичныеДанные(Стр)); СтрокаНТМL=СтрокаНТМL+" |"" style=""max-width:100%; height:auto""; align-items:center; alt="""" /> |</center> |</html> |"; | |||
| 1
    
        Kesim 15.02.21✎ 12:41 | 
        (0) Лощадь не моя, но работает, замени по тексту:
 ТипВ = "video/mp4"; КодекВ = "avc1.42E01E, mp4a.40.2"; // <source src="_ПутьКВидео_" type="_ТипВидео_" codecs="_КодекВидео_"> ТекстХТМЛ_Видео = СтрЗаменить(html_VIDEO, "_ПутьКВидео_", ПутьКФайлу); ТекстХТМЛ_Видео = СтрЗаменить(ТекстХТМЛ_Видео, "_ТипВидео_", ТипВ); ТекстХТМЛ_Видео = СтрЗаменить(ТекстХТМЛ_Видео, "_КодекВидео_", КодекВ); /////////////////////////////////////////////////////////////////////////////////////////////// <html lang="en"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" charset="UTF-8"> <style> * { margin: 0; padding: 0; } </style> </head> <body> <div id="divVideoPlayerBox"> <video id="objPlayer" controls preload="none" muted> <source src="_ПутьКВидео_" type="_ТипВидео_" codecs="_КодекВидео_"> file not found </video> </div> <script> function playPause(strObjPlayer) { var objPlayer = document.getElementById(strObjPlayer); if (objPlayer.paused) { objPlayer.play(); } else { objPlayer.pause(); } } window.onload = function () { playPause('objPlayer'); } objPlayer.onclick = function() { playPause('objPlayer'); }; objPlayer.onloadeddata = function() { var dblProportonScreen = document.body.clientWidth / document.body.clientHeight; //alert(dblProportonScreen); var dblProportonPlayer = this.videoWidth / this.videoHeight; //alert(dblProportonPlayer); if (dblProportonScreen <= dblProportonPlayer) { objPlayer.style.width = "100%"; objPlayer.style.height = "auto"; } else { objPlayer.style.width = "auto"; objPlayer.style.height = "100%"; } }; </script> </body> </html> | |||
| 2
    
        tixis 15.02.21✎ 12:44 | 
        спасибо, ща попробую     | |||
| 3
    
        Вафель 15.02.21✎ 12:59 | 
        можно и инлайн https://base64.guru/developers/html/video | |||
| 4
    
        tixis 15.02.21✎ 14:06 | 
        (1) а как присвоить этот шаблон элементу ПолеHTMLДокумента, раньше был метод УстановитьТекст(ТекстHTM), а теперь как?     | |||
| 5
    
        Вафель 15.02.21✎ 14:39 | 
        (4) имяпеременой = текст     | |||
| 6
    
        tixis 15.02.21✎ 15:49 | 
        (5) да, так работает, а как обновлять поле? т.е. у меня воспроизводится один файл, потом текстHTML перефорируется, вставляется другой файл, но на форме ничего не меняется.
 не обновляются ни картинки ни видео, хоть через оповещение, хоть напрямую в цикле устанавливаю https://i.imgur.com/9FxZ7Il.png | |||
| 7
    
        Александр111 15.02.21✎ 15:55 | 
        перевод на русский из  (3) Привет, команда,
 я пытаюсь запустить тег видео Html5 с помощью base64. он работает нормально. Но у меня файлы большие вроде 100мб. Итак, я разделил на куски размером 10 МБ. Теперь я хочу воспроизвести первый фрагмент, и пока он воспроизводится, я хочу добавить второй фрагмент, например, до 10 фрагментов, которые нужно добавить. Является ли это возможным? Ответить Администратор, 4 июля 2019 в 18:09 # ↑ Привет! Если вы уверены, что это единственный способ достичь своей цели, я думаю, вы ищете MediaSource.addSourceBuffer () или SourceBuffer.appendBuffer (). Однако я рекомендую вам пересмотреть это решение, по крайней мере, потому, что может быть плохой идеей встраивать 10 МБ потенциально неиспользуемых данных в HTML-страницу. | |||
| 8
    
        tixis 15.02.21✎ 16:03 | 
        не понятно. мне не нужно дополнять что то , мне нужно как то обновить поле, чтобы на форме отображался новый html текст с новыми файлами     | |||
| 9
    
        Александр111 15.02.21✎ 16:05 | 
        первое видео должно полностью проиграть?     | |||
| 10
    
        Александр111 15.02.21✎ 16:05 | 
        если да, то нужно формировать очередь     | |||
| 11
    
        tixis 15.02.21✎ 16:10 | 
        смысл такой, что должна крутится реклама, файлы могут быть как картинки, так и видео.
 Что такое SourceBuffer.appendBuffer() как это применимо в 1с? | |||
| 12
    
        Александр111 15.02.21✎ 16:15 | 
        var assetURL = 'frag_bunny.mp4';
 // Need to be specific for Blink regarding codecs // ./mp4info frag_bunny.mp4 | grep Codec var mimeCodec = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"'; if ('MediaSource' in window && MediaSource.isTypeSupported(mimeCodec)) { var mediaSource = new MediaSource; //console.log(mediaSource.readyState); // closed video.src = URL.createObjectURL(mediaSource); mediaSource.addEventListener('sourceopen', sourceOpen); } else { console.error('Unsupported MIME type or codec: ', mimeCodec); } function sourceOpen (_) { //console.log(this.readyState); // open var mediaSource = this; var sourceBuffer = mediaSource.addSourceBuffer(mimeCodec); fetchAB(assetURL, function (buf) { sourceBuffer.addEventListener('updateend', function (_) { mediaSource.endOfStream(); video.play(); //console.log(mediaSource.readyState); // ended }); sourceBuffer.appendBuffer(buf); }); }; | |||
| 13
    
        Александр111 15.02.21✎ 16:17 | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |