На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU, ANDLL, fatalist
  
> JS, окно диалога - выбор файла , Добавление файла в проигрыватель, через окно диалога
    Привет.
    Есть плеер
    ExpandedWrap disabled
      <video src="" id="player" class="player"></video>

    Загружаем, в плеер, файл - через окно выбора
    ExpandedWrap disabled
      baton.addEventListener('click', async ()=>{
        if (window.isSecureContext){
          try {var [fileHandle] = await window.showOpenFilePicker();}
          catch (error){'<font color="red">Упс, бро не тот</font>';}
        }
        else {console.log('<font color="red">Упс, так не катит</font>');}
      });

    Ни окна выбора, ни сообщения, в консоли.
    Что посоветуете?
      Цитата cupoma58 @
      Что посоветуете?

      Посоветую посмотреть мой пример ;)
      ExpandedWrap disabled
        <!DOCTYPE html>
        <html>
        <head>
          <meta charset='utf-8'>
          <meta name='viewport' content='width=device-width, initial-scale=1, shrink-to-fit=no'>
          <title>Пример для showOpenFilePicker</title>
          <style>
            .player {
              background-color: orange;
            }
            .player::-webkit-media-controls {
              background-color: rgba(0, 0, 0, 0.1);
              color: white;
            }
            .player::-webkit-media-controls-panel {
              background-color: transparent;
            }
          </style>
        </head>
        <body>
          <video src="" id="player" class="player" controls></video>
          <br>
          <button id="baton">Клик сюда!</button>
          <script>
            window.onload = function () {
              var baton = document.getElementById("baton");
              baton.addEventListener('click', async () => {
                const pickerOpts = {
                  types: [
                    {
                      description: "Видосы (.avi, .mkv, .mp4, .webm)",
                      accept: {
                        "video/avi": [".avi"],
                        "video/x-matroska": [".mkv"],
                        "video/mp4": [".mp4"],
                        "video/webm": [".webm"],
                      },            
                    },
                  ],
                  excludeAcceptAllOption: true,
                  multiple: false,
                };
                try {
                  const [handle] = await window.showOpenFilePicker(pickerOpts);
                  const file = await handle.getFile();
                  const fileURL = URL.createObjectURL(file);
                  const player = document.getElementById("player");
                  player.src = fileURL;
                  player.play();
                } catch (err) {
                  console.log('Error "' + err.name + '": ', err.message);
                }
              });
            };
          </script>
        </body>
        </html>
        Ну, м-м-м, попробуем. Надо разобраться. Вообще-то, я предполагал наличие, в JS, чего-то вроде JFileChooser, но более гибкого.
          Цитата cupoma58 @
          Посоветую посмотреть мой пример

          Благодарю за скрипт. В этом виде он, у меня, заработал
          ExpandedWrap disabled
            f.addEventListener('click', async ()=>{
                if (window.isSecureContext){
                    try {
                            var [handle] = await window.showOpenFilePicker(),
                            file = await handle.getFile(),
                            fileURL = URL.createObjectURL(file),
                            v = document.getElementById('v');
                            v.src = fileURL;
                    }
                    catch (err){console.log('Error "' + err.name + '": ', err.message);}
                }
            });

          ...в другом бро. Мой, "рабочий" бро, не знал - что такое showOpenFilePicker. Пришлось скачать более современную версию. Я, так, понимаю - "добавить"
          showOpenFilePicker, в старую версию, будет затруднительно?
            Цитата cupoma58 @
            в старую версию, будет затруднительно?

            Думаю да. Глянь доку по нему - там таблица реализаций в браузерах.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0218 ]   [ 15 queries used ]   [ Generated: 7.10.24, 18:33 GMT ]