Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Как сделать чтоб при прикреплении видео к посту отображалась прямая ссылка на него?

Опубликовано:

К примеру я загружаю видео и хочу вставить плеер с ролоиком, а не просто ссылку на скачку.

Я получаю тег

Нужно чтоб под этим

--------------------------------------------------

xxxxxxx.mp4

x.xx MB Добавить в сообщение | Удалить файл

--------------------------------------------------

была ссылка на сам файл. Пример

--------------------------------------------------

xxxxxxx.mp4

x.xx MB Добавить в сообщение | Удалить файл

Ссылка: [http://xxxxx.xx/uploads/xxxx/xxxx.mp4]

--------------------------------------------------

Рекомендованные сообщения

Опубликовано:

А разве видио не встраивается по дефолту?

http://www.youtube.com/watch?v=8wchi7i6Ru8

 

Просто кнопкой для мультимедиа.

 

А ссылку на сам файл можно добавить отдельно

Опубликовано:
  • Автор

Это видео с ютуба. А мне надо для того которое прикрепляется к сообщению через аттач.

Ну или с другого сайта но по прямой ссылке типа http://site.com/xxx/xxx/video.mp4

Опубликовано:

Ну или с другого сайта но по прямой ссылке типа

Это у меня реализована и работает. Давно собираюсь выложить решения в блог, все не как. Постараюсь выложить в выходные.

 

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

Не успел поставить и к себя на сайт.

Проще заново написать. Возможно в выходные.

Опубликовано:

Система аттачей придумана таким образом, чтобы контролировать доступ к файлам. Пользователю никогда не дается прямая ссылка на залитый файл на сервере. Более того, залитый файл специальным образом переименовывается и прячется в случайно сгенерированную директорию. В шаблоны отдается уже "секретная" ссылка. Поэтому, если вы захотите выводить реальный путь, вам как минимум придется редактировать скрипты форума.

 

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

 

Нужно изменить шаблон Темы > Show_attachments:

<php>
$url = urlencode("{$this->settings['base_url']}app=core&module=attach&section=attach&attach_id={$data['attach_id']}");
$path_info = pathinfo($data['attach_file']);
$data['ext'] = strtolower($path_info['extension']);
</php>

<a href="{parse url="app=core&module=attach&section=attach&attach_id={$data['attach_id']}" base="public"}" title="{$this->lang->words['attach_dl']}"><img src="{$this->settings['public_dir']}{$data['mime_image']}" alt="{$this->lang->words['attached_file']}" /></a> <a href="{parse url="app=core&module=attach&section=attach&attach_id={$data['attach_id']}" base="public"}" title="{$this->lang->words['attach_dl']}">{$data['attach_file']}</a> <span class='desc'><strong>({$data['file_size']}, {$this->lang->words['attach_hits']} {$data['attach_hits']})</strong></span>

<if test="in_array($data['ext'], array('mp4', 'avi', 'flv', '3gp')">
<br /><object type="application/x-shockwave-flash" data="{$this->settings['board_url']}/public/player/flvplayer.swf" width="420" height="340">
       <param name="movie" value="{$this->settings['board_url']}/public/player/player_flv_maxi.swf" />
       <param name="allowFullScreen" value="true" />
       <param name="FlashVars" value="flv={$url}" />
</object><br />
</if>

<if test="$data['ext'] == 'mp3'">
<br /><object type="application/x-shockwave-flash" data="{$this->settings['board_url']}/public/player/flvplayer.swf" height="60" width="400">
<param name="wmode" VALUE="transparent" />
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="movie" value="{$this->settings['board_url']}/public/player/mp3.swf" />
<param name="FlashVars" value="way={$url}&showstop=1&swf={$this->settings['board_url']}/public/player/flvplayer.swf&w=470&h=70&time_seconds=0&autoplay=0&q=1&skin=grey&volume=50&comment=Слушаем музыку!" /></object><br />
</if>

 

И положить в указанные папки /public/player/ соответствующие плееры.

Опубликовано:

Для видео и аудио в аттачах есть готовое решение.

ГМ.

<if test="in_array($data['ext'], array('mp4', 'avi', 'flv', '3gp')">

Я сохранял, точно другой код. Этот и переделывать не надо. Только плеер заменить и все. :)

Опубликовано:
  • Автор

Ritsuka, Ph-A, Спасибо. Сейчас попробую.

Опубликовано:
  • Автор

Работает но не совсем...

Я использую другой плеер.

Аудио воспроизводится, а вот видеоне хочет...

Вот сам код

<php>
$url = urlencode("{$this->settings['base_url']}app=core&module=attach&section=attach&attach_id={$data['attach_id']}");
$path_info = pathinfo($data['attach_file']);
$data['ext'] = strtolower($path_info['extension']);
</php>
<a href="{parse url="app=core&module=attach&section=attach&attach_id={$data['attach_id']}" base="public"}" title="{$this->lang->words['attach_dl']}"><img src="{$this->settings['public_dir']}{$data['mime_image']}" alt="{$this->lang->words['attached_file']}" /></a> <a href="{parse url="app=core&module=attach&section=attach&attach_id={$data['attach_id']}" base="public"}" title="{$this->lang->words['attach_dl']}">{$data['attach_file']}</a> <span class='desc'><strong>({$data['file_size']}, {$this->lang->words['attach_hits']} {$data['attach_hits']})</strong></span>
<if test="in_array($data['ext'], array('mp4', 'avi', 'flv', '3gp')">
<br /><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="600" height="400" id="Player-e4efcf5b557c82ee0bd564c1a2599d7b">
<param name="movie" value="http://help-icq.ru/public/player/media_player.swf?MediaLink={$url}&defaultMedia=1&logo=http://help-icq.ru/public/player/watermark.png&showPlayButton=true&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000" />
<param name="allowFullScreen" value="true" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" />
<param name="wmode" value="opaque" />
<embed src="http://cmailik.ru/engine/classes/flashplayer/media_player.swf?MediaLink={$url}&defaultMedia=1&logo=http://help-icq.ru/public/player/watermark.png&showPlayButton=true&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000" quality="high" bgcolor="#000000" wmode="opaque" allowFullScreen="true" width="600" height="400" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
</object><br/>
</if>
<if test="$data['ext'] == 'mp3'">
<br /><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="425" height="30" id="Player-17293be98d1d7445115d5c0acd44cea2">
<param name="movie" value="http://help-icq.ru/public/player/media_player.swf?MediaLink={$url}&defaultMedia=1&showPlayButton=false&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000" />
<param name="allowFullScreen" value="false" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<embed src="http://help-icq.ru/public/player/media_player.swf?MediaLink={$url}&defaultMedia=1&showPlayButton=false&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000" quality="high" wmode="transparent" allowFullScreen="false" width="425" height="30" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
</object><br />
</if>

Опубликовано:

Ну или с другого сайта но по прямой ссылке типа http://site.com/xxx/xxx/video.mp4

Ну если сам метр ответил. И я не буду затягивать.

 

Исторически у меня на всех проектах для проигрывания используется JW Player. Естественно мне, проще всего и для IP.Board использовать его.

 

Сам плеер и вызывающий его яваскрипт загружается на сервер. В моем случае это: forum/public/player/

 

Добавляем поддержку mp4.

 

Панель управления > Внешний вид > Содержимое сообщений > BB-коды > Управление BB-кодами --> добавить

 

Название

MP4

 

Медиа-тег

{1}.mp4

 

Шаблон замены медиа-тега

<div id="container"><a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</div>
<script type="text/javascript" src="/forum/public/player/swfobject.js"></script>
<script type="text/javascript">
	var s1 = new SWFObject("/forum/public/player/player.swf","ply","640","480","9","false","#FFFFFF");
	s1.addParam("allowfullscreen","true");
	s1.addParam("allowscriptaccess","always");
	s1.addParam("flashvars","file=$1.mp4");
	s1.write("container");
</script>

 

Добавляем поддержку flv.

 

Название

flv

 

Медиа-тег

{1}.flv

 

Шаблон замены медиа-тега

<div id="container"><a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</div>
<script type="text/javascript" src="/forum/public/player/swfobject.js"></script>
<script type="text/javascript">
	var s1 = new SWFObject("/forum/public/player/player.swf","ply","640","480","9","#FFFFFF");
	s1.addParam("allowfullscreen","true");
	s1.addParam("allowscriptaccess","always");
	s1.addParam("flashvars","file=$1.flv");
	s1.write("container");
</script>

 

Естественно bb коды легко переделываются под поддержку другого плеера.

 

Как пример поддержка flv для Flowplayer

 

<script type="text/javascript" src="/forum/public/player/flowplayer-3.2.4.min.js'></script>
<a href='$1.flv'style='display:block;width:640px;height:338px;' id='player'></a>
<script>
flowplayer('player', '/forum/public/player/flowplayer-3.2.4.swf', {
clip:  {
   	autoPlay: false,
   	autoBuffering: true
}
});
</script>

Опубликовано:

У вас в шаблоне два разных URL плеера:

http://help-icq.ru/public/player/media_player.swf?MediaLink={$url}&defaultMedia=1&logo=http://help-icq.ru/public/player/watermark.png&showPlayButton=true&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000
http://cmailik.ru/engine/classes/flashplayer/media_player.swf?MediaLink={$url}&defaultMedia=1&logo=http://help-icq.ru/public/player/watermark.png&showPlayButton=true&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000

 

Исправьте. И flash не кроссдоменен, пока не укажаете это специально с помощью crossdomain.xml.

Опубликовано:
  • Автор

У вас в шаблоне два разных URL плеера:

http://help-icq.ru/public/player/media_player.swf?MediaLink={$url}&defaultMedia=1&logo=http://help-icq.ru/public/player/watermark.png&showPlayButton=true&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000
http://cmailik.ru/engine/classes/flashplayer/media_player.swf?MediaLink={$url}&defaultMedia=1&logo=http://help-icq.ru/public/player/watermark.png&showPlayButton=true&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000

 

Исправьте. И flash не кроссдоменен, пока не укажаете это специально с помощью crossdomain.xml.

Спасибо, исправлю. Но это не критично так как плеер есть в обоих местах.

Что такое кроссдоменность, зачем и как нужно указывать с помощью crossdomain.xml?

======================

Ссылку исправил, видео всё равно не работает...

Через BB-код с разными адресами swf видео работает...

======================

С этим

<if test="in_array($data['ext'], array('mp4', 'avi', 'flv', '3gp')">
<br /><object type="application/x-shockwave-flash" data="{$this->settings['board_url']}/public/player/flvplayer.swf" width="420" height="340">
       <param name="movie" value="{$this->settings['board_url']}/public/player/player_flv_maxi.swf" />
       <param name="allowFullScreen" value="true" />
       <param name="FlashVars" value="flv={$url}" />
</object><br />
</if>

Даже плеер не отображается...

Опубликовано:
  • Автор
post-44346-0-10970500-1301564819_thumb.jpg
Опубликовано:

ИМХО если ошибок нет, надо смотреть документацию плеера. Не скачав его, нечего не скажу.

Качать сейчас, нет времени.

  • 1 год спустя...
Опубликовано:

Извините, что не создал свою тему, вроде бы проблемка, имеет что-то общее с этой темой.

В общем как мне вставить .mp3 на форум IPB 3.2.3 , так что бы оно проигрывалось в плеере ?

Вроде бы простая вещь, а никак до меня не дойдет.

Опубликовано:
[media]http://site.ru/file.mp3[/media]

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.