Как воспроизвести файл .swf с помощью Google Chrome?

29

У меня есть файл * .swf, и на моем компьютере с Windows XP не установлен флэш-плеер.

Есть ли способ воспроизвести файл .swf с помощью Google Chrome или есть какое-нибудь веб-приложение, позволяющее мне играть .swf? Я не против установить любой плагин для браузера, но я не возражаю против установки любого настольного приложения.

Гравитон
источник
Вам нужно установить Adobe Flash Player в вашей системе?
Абхи

Ответы:

3

Chrome имеет встроенный Flash Player под названием PepperFlash. Перейдите в chrome: // plugins / и убедитесь, что «Adobe Flash Player» включен. Вы также можете перейти к chrome: // components /, чтобы убедиться, что он обновлен. Если у вас все еще есть проблемы, перейдите в «Your Root» \ Users \ «Ваше имя пользователя» \ AppData \ Local \ Google \ Chrome \ User Data \ PepperFlash \ «Номер версии» \ Затем переименуйте pepflashplayer.dll в pepflashplayerX.dll.

Catttdaddy
источник
поскольку chrome должен воспроизводить SWF-файлы естественным образом, это лучший ответ на исходный вопрос без необходимости обходных путей.
Крис Джей
11
Это больше не работает. Попробуйте перейти к chrome: // plugins / - он был удален в последних версиях. Это вызывает полный ад у разработчиков Flash, позволяющих контент на клиентских компьютерах. Спасибо Google!
1owk3y
1
Где новый chrome: // plugins? Они были перенесены в chrome: // настройки ??
Pacerier
1
@Pacerier Нет «новой» версии этой страницы - она ​​была удалена, так как Google Chrome больше не использует плагины.
сумерки
82

Я создал файл flash.htmlс таким содержанием:

<object>
    <embed src="file.swf" width="100%" height="100%"></embed>
</object>

Затем открыл файл в Chrome.

В противном случае, когда я перетаскивал swfфайл в Chrome, он просто загружал файл.

warvariuc
источник
2
Flash не будет поддерживаться с 2020 года. blog.google/products/chrome/saying-goodbye-flash-chrome "... Если сайт продолжает использовать Flash и вы даете сайту разрешение на запуск Flash, он будет работать до конца 2020 года "
Pacerier
5

Ответ Catttdaddy в основном правильный, но в Chrome версии 57 и новее плагины устарели (для получения дополнительной информации см. Это ), и вам может потребоваться включить Flash другим способом, через настройки Chrome. Если он не включен, файл будет загружен, а не открыт. Чтобы включить Flash в Chrome:

  • Введите URL-адрес chrome: // settings /
  • Поиск "Flash"
  • В разделе «Конфиденциальность» нажмите «Настройки контента».
  • Под Flash выберите опцию «Разрешить сайтам запускать flash»

Возможно, вы захотите изменить его обратно на исходную настройку из соображений безопасности или по другим причинам после открытия SWF-файла.

Голубая малина
источник
3
Для меня было недостаточно просто поставить галочку «Разрешить сайтам запускать флэш». Фактически, это было отмечено, и все же вспышка была загружена и не игралась. Я должен был снять галочку «Спроси сначала» прямо под ним - это решило проблему.
нирвана-мсу
3

Вы можете воспроизводить файлы .swf с помощью Google Chrome. Просто перетащите файл с его текущего местоположения на текущую вкладку.

бу ху
источник
1
Как это можно сделать из командной строки? Команда google-chrome myfile.swfхочет скачать его.
оч
Это решило это для меня: superuser.com/a/783451/19956
очко
10
Не работает, потому что он продолжает загружать файл.
Хосе Рамирес
2

Для пользователей Linux, имеющих эту проблему, я создал следующий сценарий в качестве обходного пути:

Прежде чем продолжить, вы должны убедиться, что Pepper-Flash установлена ​​для Chrome / Chromium (flashplugin для Firefox). Единственный способ проверить (без использования нижеприведенного обходного решения) - воспроизвести флэш-файл в Интернете. (или в Firefox, зайдите в плагин about: и посмотрите, есть ли у него «Shockwave Flash»)

#!/bin/bash
if [ -z $1 ]; then
   swf=$(ls *.swf | tail -1)
else
   swf=$@
fi


html=$(echo $swf | sed 's:swf:html:g')
echo '<embed src='$swf 'width="100%" height="100%"></embed>' | sed 's:src=:src=":g' | sed 's:swf:swf":g' > "$html"

#chromium "$html" && sleep 20 && rm "$html"
#google-chrome "$html" && sleep 20 && rm "$html"
#firefox about:config & wmctrl -xa firefox && sleep 0.2 && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"

(альтернативно совместимо с тире)

Чтобы использовать сценарий, сохраните его как swftohtml.sh (может быть любым именем, не обязательно заканчиваться на .sh) в любом месте, которое вы хотите, а затем преобразовать его в исполняемую команду, либо создать для него псевдоним в bashrc, либо скопируйте его в / usr / bin /. Не забудьте запустить chmod + x swftohtml.sh, чтобы сделать его исполняемым.

При запуске сценария без аргументов в текущей папке будет найден SWF-файл и создан соответствующий HTML-файл, который можно использовать для запуска этого SWF-файла в браузере. Если в папке более 1 SWF-файла, по умолчанию будет использоваться последний (например, если у вас есть filename1.0.swf и filename2.0.swf, по умолчанию будет filename2.0.swf).

В качестве альтернативы для целевого конкретного файла SWF, вы можете ввести имя файла (или полный путь к файлу) в качестве аргумента для сценария, и он будет использовать его вместо этого. (например, swftohtml.sh filename 1.0.swf )

Если вы хотите полностью автоматизировать скрипт:

Чтобы автоматически открывать SWF-файлы в вашем браузере и автоматизировать удаление полученного HTML-файла после его использования, раскомментируйте одну из следующих строк в нижней части скрипта (в зависимости от вашего браузера):

#chromium "$html" && sleep 20 && rm "$html"
#google-chrome "$html" && sleep 20 && rm "$html"
#firefox about:config & wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"

Теперь скрипт откроет HTML-файл в вашем браузере, как только он будет создан. Если запущен существующий экземпляр вашего браузера, он удалит html-файл через 20 секунд (давая вам достаточно времени, чтобы сообщить браузеру открыть файл с помощью его flash-плагина). Если экземпляр вашего браузера не существует, файл будет удален через 20 секунд после закрытия браузера.

С помощью этого набора вы можете настроить SWF-файлы для открытия с помощью сценария, и теперь процесс полностью автоматизирован, так что вы можете открывать SWF-файлы напрямую, не беспокоясь о создании (или удалении) html-файлов вручную, другими словами, он будет вести себя так, как должен сейчас. (Имейте в виду, что может быть несколько угловых случаев, когда HTML-файл не удаляется, хотя, когда это происходит, вы можете спокойно проигнорировать его.)

Для пользователей Firefox:

Версия Firefox была немного хитрее, она требует установки wmctrl и xdotool. Причина этого заключается в том, что для того, чтобы firefox воспроизводил локальные SWF-файлы таким образом, вам нужно отключить plugins.http_https_only в about: config , скрипт автоматически отключает его, открывает файл флэш-памяти, а затем повторно включает его, потому что этот параметр наиболее люди, как правило, хотят, чтобы их включили. Браузер должен быть открыт перед выполнением команды. Если вы считаете, что ваш браузер Firefox может быть закрыт при запуске команды, замените строку на следующую:

firefox about:config & sleep 1 && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"

Теперь браузер будет запускаться за 1 секунду до запуска остальной части скрипта. (Может потребоваться настройка для более медленных компьютеров).

Версия скрипта Firefox всегда удаляет файл через 20 секунд.

Тестирование производительности:

Я сделал несколько элементарных тестов производительности, и вот мои результаты:

  • Chrome / Chromium Pepper Flash (PPAPI): самый быстрый
  • Adobe Flash Projector (NPAPI) (Wine): быстрый
  • Firefox Flashplugin (NPAPI): самый медленный

Что касается стабильности, в некоторых случаях PPAPI сталкивается с ошибками / ошибками, которых нет у NPAPI, но они встречаются редко.

Производительность между Pepper Flash и Flash Projector была довольно небольшой (это заметно, но незначительно), тогда как производительность плагина firefox flash была заметно ниже, чем у остальных по некоторым причинам.

Таким образом, если целью является игра во флеш-игры, я бы рекомендовал использовать хром с перцовой вспышкой, установленной поверх остальных. Для других задач вряд ли это будет иметь значение.

Cestarian
источник
0

Если вы не ошиблись, вам нужен плагин для воспроизведения SWF-файлов, так как SWF требует, чтобы функционировала библиотека actionscript.

Фергус
источник
2
Спасибо, есть идеи, где взять плагин и как играть в SWF-файлы в Google Chrome?
Гравитон
Хром поставляется со встроенной вспышкой.
Рич Брэдшоу