Как сделать чтоб при прикреплении видео к посту отображалась прямая ссылка на него?
#1
Отправлено 31 Март 2011 - 10:12
Я получаю тег [attachment=x:xxx]
Нужно чтоб под этим
--------------------------------------------------
xxxxxxx.mp4
x.xx MB Добавить в сообщение | Удалить файл
--------------------------------------------------
была ссылка на сам файл. Пример
--------------------------------------------------
xxxxxxx.mp4
x.xx MB Добавить в сообщение | Удалить файл
Ссылка: [http://xxxxx.xx/uploads/xxxx/xxxx.mp4]
--------------------------------------------------
#2
Отправлено 31 Март 2011 - 10:25
Просто кнопкой для мультимедиа.
А ссылку на сам файл можно добавить отдельно
Ссылка на файл
#3
Отправлено 31 Март 2011 - 10:38
Ну или с другого сайта но по прямой ссылке типа http://site.com/xxx/xxx/video.mp4
#4
Отправлено 31 Март 2011 - 11:18
Это у меня реализована и работает. Давно собираюсь выложить решения в блог, все не как. Постараюсь выложить в выходные.
Есть решения от Ritsuka для звуковых файлов, я добавил поддержку видео, но умер компьютер и код остался лежит в недрах винчестера.
Не успел поставить и к себя на сайт.
Проще заново написать. Возможно в выходные.
#5
Отправлено 31 Март 2011 - 11:23
Для видео и аудио в аттачах есть готовое решение. Давно как-то кидал модифицированный шаблон на IBR, с тех пор их техподдержка его всем впаривает.
Нужно изменить шаблон Темы > Show_attachments:
<php>
$url = urlencode("{$this->settings['base_url']}app=core&module=attach§ion=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§ion=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§ion=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="$data['ext'] == 'mp4' OR $data['ext'] == 'avi' OR $data['ext'] == 'flv' OR $data['ext'] == '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>И положить в указанные папки соответствующие плееры.
#8
Отправлено 31 Март 2011 - 12:13
Я использую другой плеер.
Аудио воспроизводится, а вот видеоне хочет...
Вот сам код
<php>
$url = urlencode("{$this->settings['base_url']}app=core&module=attach§ion=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§ion=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§ion=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="$data['ext'] == 'mp4' OR $data['ext'] == 'avi' OR $data['ext'] == 'flv' OR $data['ext'] == '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>
#9
Отправлено 31 Март 2011 - 12:13
Morty 31 Март 2011 - 10:38 сказал(а):
Ну если сам метр ответил. И я не буду затягивать.
Исторически у меня на всех проектах для проигрывания используется 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>
#11
Отправлено 31 Март 2011 - 12:25
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.
#12
Отправлено 31 Март 2011 - 12:28
Ritsuka 31 Март 2011 - 12:25 сказал(а):
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="$data['ext'] == 'mp4' OR $data['ext'] == 'avi' OR $data['ext'] == 'flv' OR $data['ext'] == '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>Даже плеер не отображается...
Сообщение изменено: Morty (31 Март 2011 - 12:38)
#14
Отправлено 31 Март 2011 - 13:10
Качать сейчас, нет времени.
#15
Отправлено 17 Апрель 2012 - 11:40
В общем как мне вставить .mp3 на форум IPB 3.2.3 , так что бы оно проигрывалось в плеере ?
Вроде бы простая вещь, а никак до меня не дойдет.












