22

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

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

6 ответов6

66

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

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

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

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

5

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

4

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.

4

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

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

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

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 была заметно ниже, чем у остальных по некоторым причинам.

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

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .