ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90   •   Посмотреть все темы

плеер чрез теги ( [play]и[/play] )

 

2615
Сергей @Pegass
Упс, не внимательно скриптик посмотрел, котечно собираюсь заставлять мучаться))))

1007
BETEPAH @BETEPAH
Pegass пишет:

котечно собираюсь заставлять мучаться))))

Ну пожалуйста. Вот, вписал вконтакт для обрамления тегом video, если так удобнее
t=text.split('[video]'); if(t[1]) {t2=t[1].split('[/video]'); if(t2[0]) {
if(t2[0].substr(0,25) == 'http://vkontakte.ru/video') {text=text.replace('[video]'+t2[0]+'[/video]','<a href="'+t2[0]+'" target="_blank" title="ссылка откроется в новом окне">Видеоролик загружен!</a> '); parent.users.document.getElementById('video').innerHTML='<iframe src="'+t2[0]+'" width="250" height="200" frameborder="0"></iframe>'} else {
var reg_rutube = new RegExp("(http:\/\/)(rutube\.ru\/)\\S+\\?v=(\\S+)");
var reg_youtube = new RegExp("(http:\/\/www\.youtube\.com\/)\\S+\\?v=(\\S+)");
var reg_veoh = new RegExp("(http:\/\/www\.veoh\.com\/)\\S+watch\/?%?3?D?(v\\S+)");
var reg_vimeo = new RegExp("(http:\/\/vimeo\.com\/)(\\S+)");
var reg_metacafe = new RegExp("(http:\/\/www\.metacafe\.com\/)watch(\\S+)\/?");
var reg_spike = new RegExp("(http:\/\/www\.spike\.com\/)video\/\\S+\/(\\S+)");
var reg_myspace = new RegExp("http:\/\/vids\.(myspace\.com\/)\\S+videoid=(\\S+)");
var reg_google = new RegExp("(http:\/\/video\.google\.com\/)\\S+docid=(\\S+)&\\S+");
var reg_dailymotion = new RegExp("(http:\/\/www\.dailymotion\.com\/)video\/([^_+]+)\\S+");
var reg_5min = new RegExp("http:\/\/www\.(5min\.com\/)\\S+-(\\d+)");
var reg_gamestar = new RegExp("(http:\/\/www\.gamestar\.de\/)\\S+=(\\d+)");
var reg_mail = new RegExp("http:\/\/(video\.mail\.ru)\/(\\S+)\/(\\S+)\/(\\S+)\/(\\S+)\.html");
var reg_gametrailers = new RegExp("(http:\/\/www\.gametrailers\.com)\/\\S+\/(\\d+)");
var reg_yahoo = new RegExp("(http:\/\/video\.yahoo\.com)\/watch\/(\\d+)\/(\\d+)");
var reg_libero = new RegExp("(http:\/\/video\.libero\.it)\/app\/\\S+id=(\\S+)");
var reg_ukr = new RegExp("(http:\/\/play\.ukr\.net)\/videos\/show\/(\\S+)\/");
var reg_online = new RegExp("(http:\/\/video\.online\.ua)\/(\\S+)\/");
var reg_rambler = new RegExp("(http:\/\/vision\.rambler\.ru)\/users\/(\\S+)\/");
var reg_bigmir = new RegExp("(http:\/\/video\.bigmir\.net)\/show\/(\\S+)\/");
var reg_sibnet = new RegExp("http:\/\/(video\.sibnet\.ru)\/\\S*?video(\\d+)\/");
var reg_irc = new RegExp("(http:\/\/irc\.lv)\/video\\?(id=.*)");
var reg_swf = new RegExp("(http:\/\/(.*\\.)(mp3|flv))");
var src = t2[0].replace(reg_rutube,"$1video.$2$3");
src = src.replace(reg_youtube,"$1v/$2&hl=ru_RU&fs=1");
src = src.replace(reg_veoh, "$1static/swf/webplayer/WebPlayer.swf?version=AFrontend.5.4.9.1006&permalinkId=$2&player=videodetailsembedded&videoAutoPlay=0&id=anonymous");
src = src.replace(reg_vimeo, "$1moogaloop.swf?clip_id=$2&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1");
src = src.replace(reg_metacafe, "$1fplayer$2.swf");
src = src.replace(reg_spike, '"$1efp" flashvars="flvbaseclip=$2"');
src = src.replace(reg_myspace, 'http://mediaservices.$1services/media/embed.aspx/m=$2,t=1,mt=video');
src = src.replace(reg_google, '$1googleplayer.swf?docid=$2&hl=ru&fs=true');
src = src.replace(reg_dailymotion, '$1swf/$2');
src = src.replace(reg_5min, 'http://embed.$1$2/');
src = src.replace(reg_gamestar, '$1emb/player.swf?config=$1emb/getVideoData.cfm?vid=$2');
src = src.replace(reg_mail, 'http://img.mail.ru/r/video2/player_v2.swf?par=http://content.$1/$2/$3/$4/$$$5$$0$39&imaginehost=$1&perlhost=$1&alias=$2&username=$3&albumid=$4&id=$5&catalogurl=http://video.mail.ru/themes/clips');
src = src.replace(reg_gametrailers, '$1/remote_wrap.php?umid=$2');
src = src.replace(reg_yahoo, '"http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf?ver=2.2.46" flashVars="id=$3&vid=$2&lang=en-us&intl=us"');
src = src.replace(reg_libero, '"$1/static/swf/eltvplayer.swf?id=$2.flv&ap=0"');
src = src.replace(reg_ukr, '"$1/player.swf?key=$2&StopAsking=0&self=0"');
src = src.replace(reg_online, '"http://i.online.ua/mplayer/player_logo.swf?file=$1/playlist/$2.xml&autostart=false&javascriptid=media_player&enablejs=true"');
src = src.replace(reg_rambler, '"$1/i/e.swf?id=$2&logo=1&where=home"');
src = src.replace(reg_bigmir, '"$1/extplayer/$2/"');
src = src.replace(reg_sibnet, '"http://$1/mediaplayer.swf" flashvars="file=http%3A%2F%2F$1%2Fupload%2Fvideo%2F$2.flv&amp;image=http%3A%2F%2F$1%2Fupload%2Fcover%2Fvideo_$2_0.jpg"');
src = src.replace(reg_irc, '$1/player.swf?$2');
var autostart='true'; if(loaded==0) autostart='false';
if (src==t2[0]&&src.match(reg_swf))src = src.replace(reg_swf, '"http://mpchat.com/blank/player.swf" flashvars="file='+t2[0]+'&autostart='+autostart+'"');
var type = "application/x-shockwave-flash";
var file_tipe = new RegExp("(http:\/\/(.*\\.)(rmi|wmv|midi|mid|mpg|wav|snd|wma|mpeg|avi|mpe|m1v|mpa|aifc|aiff|au|aif|swf))");
if (src==t2[0]&&src.match(file_tipe)) type = "application/x-mplayer2";
if (src==t2[0]&&!src.match(file_tipe)){parent.users.document.getElementById('video').innerHTML='Данный тип файлов не поддерживается или неверная ссылка'}
else {parent.users.document.getElementById('video').innerHTML='<embed src='+src+' type='+type+' allowscriptaccess=always allowfullscreen=true width=250 height=200></embed>'};
text=text.replace('[video]'+t2[0]+'[/video]','<a href="'+t2[0]+'" target="_blank" title="ссылка откроется в новом окне">Видеоролик загружен!</a> ')}} else {text='Просмотр выключен';parent.users.document.getElementById('video').innerHTML=''}}

Этот код будет реагировать на текст в виде
[video]http://vkontakte.ru/video_ext.php?oid=9673837&id=160821682&hash=1d9d798019255db6&hd=1[/video]
Код для фреймовой системы. Для безфреймовой, как обычно, удалите "parent.users."
Размеры 250х200 подгоняйте под себя.

573
Max @JackOFF
Как переделать код чтобы она запускался во фрейм сообщений заменял "users" на "irc" нечего невышло

1007
BETEPAH @BETEPAH
BalBess™ пишет:

Как переделать код чтобы она запускался во фрейм сообщений заменял "users" на "irc" нечего невышло

Видео запускается там, где установлен блок
<div id=video align="center" ></div>

Насколько я понял, Вы хотите, чтоб окно видео показывалось прямо в сообщении человека, который его отправил? Это несложно сделать, но я бы не рекомендовал. Думаю, это будет сильно отъедать оперативку у посетителей. Поэтому видео выносится в один блок и каждое следующее замещает собой предыдущее.

Отредактировано BETEPAH - 12.09.2011
248
Bab_n1k @Bab_n1k
насчет видео, возможно ли переделать
var reg_youtube = new RegExp("(http:\/\/www\.youtube\.com\/)\\S+\\?v=(\\S+)"); и
src = src.replace(reg_youtube,"$1v/$2&hl=ru_RU&fs=1");

для новых ссылок с ютуба такого типа - ********** (как я понимаю через укоротитель ссылок) ?
Показать текст

Отредактировано Bab_n1k - 14.12.2011
1007
BETEPAH @BETEPAH
Bab_n1k пишет:

насчет видео, возможно ли переделать
var reg_youtube = new RegExp("(http:\/\/www\.youtube\.com\/)\\S+\\?v=(\\S+)"); и
src = src.replace(reg_youtube,"$1v/$2&hl=ru_RU&fs=1");

для новых ссылок с ютуба такого типа - ********** (как я понимаю через укоротитель ссылок) ?
Показать текст

Я когда-то пробовал, но получилось грузить с укороченной ссылки только в iframe. В embed - не смог, но может просто не до конца разобрался. Если нужно, вот мой код плеера (он для фреймовой версии и со специфичным окном вывода, но суть, думаю, поймете, так как нужные места закомментированы):
Показать текст

Отредактировано BETEPAH - 14.12.2011
248
Bab_n1k @Bab_n1k
Убрал все parent.users. но что то не работает
в ник листе выводит только ник и время, ссылка "Видеоролик загружен!" в общее окно невыводиться хотя в логе видно ссылку с тегом ;(

1007
BETEPAH @BETEPAH
Bab_n1k пишет:

Убрал все parent.users. но что то не работает
в ник листе выводит только ник и время, ссылка "Видеоролик загружен!" в общее окно невыводиться хотя в логе видно ссылку с тегом ;(

вот Ваша структура из ник-листа:
<div align="center" id="viborder"></div>
<div align="center" id="mediains"></div>
<div align="center" id="mediaautor"></div>

вот моя (упрощенно):
<div id="mediaborder" style="display:none">
<span id="mediaautor"></span>
<div id="mediains"></div>
</div>

в скрипте окно с видео открывает
var viborder=document.getElementById('mediaborder');
...
viborder.style.display='block';

а у Вас этого блока нет, открываться нечему.
P.S.
Я же дал не готовое решение, а вариант для вывода видео в различных оболочках
- в embed через x-shockwave-flash
- в embed через x-mplayer2
- в iframe

549
PlumLi @PlumLi
не знаю что делаю не так, вставляю код в "Функция - вывода сообщений и команд", т.к у меня безфреймовая версия то удаляю "parent.users."
Но после этого чат не грузит, где ошибка?

1410
Антон @tonik
PlumLi пишет:

не знаю что делаю не так, вставляю код в "Функция - вывода сообщений и команд", т.к у меня безфреймовая версия то удаляю "parent.users."
Но после этого чат не грузит, где ошибка?

код кинь...

549
PlumLi @PlumLi
t=text.split('[video]'); if(t[1]) {t2=t[1].split('[/video]'); if(t2[0]) {
if(t2[0].substr(0,25) == 'http://vkontakte.ru/video') {text=text.replace('[video]'+t2[0]+'[/video]','<a href="'+t2[0]+'" target="_blank" title="ссылка откроется в новом окне">Видеоролик загружен!</a> '); document.getElementById('video').innerHTML='<iframe src="'+t2[0]+'" width="250" height="200" frameborder="0"></iframe>'} else {
var reg_rutube = new RegExp("(http:\/\/)(rutube\.ru\/)\\S+\\?v=(\\S+)");
var reg_youtube = new RegExp("(http:\/\/www\.youtube\.com\/)\\S+\\?v=(\\S+)");
var reg_veoh = new RegExp("(http:\/\/www\.veoh\.com\/)\\S+watch\/?%?3?D?(v\\S+)");
var reg_vimeo = new RegExp("(http:\/\/vimeo\.com\/)(\\S+)");
var reg_metacafe = new RegExp("(http:\/\/www\.metacafe\.com\/)watch(\\S+)\/?");
var reg_spike = new RegExp("(http:\/\/www\.spike\.com\/)video\/\\S+\/(\\S+)");
var reg_myspace = new RegExp("http:\/\/vids\.(myspace\.com\/)\\S+videoid=(\\S+)");
var reg_google = new RegExp("(http:\/\/video\.google\.com\/)\\S+docid=(\\S+)&\\S+");
var reg_dailymotion = new RegExp("(http:\/\/www\.dailymotion\.com\/)video\/([^_+]+)\\S+");
var reg_5min = new RegExp("http:\/\/www\.(5min\.com\/)\\S+-(\\d+)");
var reg_gamestar = new RegExp("(http:\/\/www\.gamestar\.de\/)\\S+=(\\d+)");
var reg_mail = new RegExp("http:\/\/(video\.mail\.ru)\/(\\S+)\/(\\S+)\/(\\S+)\/(\\S+)\.html");
var reg_gametrailers = new RegExp("(http:\/\/www\.gametrailers\.com)\/\\S+\/(\\d+)");
var reg_yahoo = new RegExp("(http:\/\/video\.yahoo\.com)\/watch\/(\\d+)\/(\\d+)");
var reg_libero = new RegExp("(http:\/\/video\.libero\.it)\/app\/\\S+id=(\\S+)");
var reg_ukr = new RegExp("(http:\/\/play\.ukr\.net)\/videos\/show\/(\\S+)\/");
var reg_online = new RegExp("(http:\/\/video\.online\.ua)\/(\\S+)\/");
var reg_rambler = new RegExp("(http:\/\/vision\.rambler\.ru)\/users\/(\\S+)\/");
var reg_bigmir = new RegExp("(http:\/\/video\.bigmir\.net)\/show\/(\\S+)\/");
var reg_sibnet = new RegExp("http:\/\/(video\.sibnet\.ru)\/\\S*?video(\\d+)\/");
var reg_irc = new RegExp("(http:\/\/irc\.lv)\/video\\?(id=.*)");
var reg_swf = new RegExp("(http:\/\/(.*\\.)(mp3|flv))");
var src = t2[0].replace(reg_rutube,"$1video.$2$3");
src = src.replace(reg_youtube,"$1v/$2&hl=ru_RU&fs=1");
src = src.replace(reg_veoh, "$1static/swf/webplayer/WebPlayer.swf?version=AFrontend.5.4.9.1006&permalinkId=$2&player=videodetailsembedded&videoAutoPlay=0&id=anonymous");
src = src.replace(reg_vimeo, "$1moogaloop.swf?clip_id=$2&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1");
src = src.replace(reg_metacafe, "$1fplayer$2.swf");
src = src.replace(reg_spike, '"$1efp" flashvars="flvbaseclip=$2"');
src = src.replace(reg_myspace, 'http://mediaservices.$1services/media/embed.aspx/m=$2,t=1,mt=video');
src = src.replace(reg_google, '$1googleplayer.swf?docid=$2&hl=ru&fs=true');
src = src.replace(reg_dailymotion, '$1swf/$2');
src = src.replace(reg_5min, 'http://embed.$1$2/');
src = src.replace(reg_gamestar, '$1emb/player.swf?config=$1emb/getVideoData.cfm?vid=$2');
src = src.replace(reg_mail, 'http://img.mail.ru/r/video2/player_v2.swf?par=http://content.$1/$2/$3/$4/$$$5$$0$39&imaginehost=$1&perlhost=$1&alias=$2&username=$3&albumid=$4&id=$5&catalogurl=http://video.mail.ru/themes/clips');
src = src.replace(reg_gametrailers, '$1/remote_wrap.php?umid=$2');
src = src.replace(reg_yahoo, '"http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf?ver=2.2.46" flashVars="id=$3&vid=$2&lang=en-us&intl=us"');
src = src.replace(reg_libero, '"$1/static/swf/eltvplayer.swf?id=$2.flv&ap=0"');
src = src.replace(reg_ukr, '"$1/player.swf?key=$2&StopAsking=0&self=0"');
src = src.replace(reg_online, '"http://i.online.ua/mplayer/player_logo.swf?file=$1/playlist/$2.xml&autostart=false&javascriptid=media_player&enablejs=true"');
src = src.replace(reg_rambler, '"$1/i/e.swf?id=$2&logo=1&where=home"');
src = src.replace(reg_bigmir, '"$1/extplayer/$2/"');
src = src.replace(reg_sibnet, '"http://$1/mediaplayer.swf" flashvars="file=http%3A%2F%2F$1%2Fupload%2Fvideo%2F$2.flv&amp;image=http%3A%2F%2F$1%2Fupload%2Fcover%2Fvideo_$2_0.jpg"');
src = src.replace(reg_irc, '$1/player.swf?$2');
var autostart='true'; if(loaded==0) autostart='false';
if (src==t2[0]&&src.match(reg_swf))src = src.replace(reg_swf, '"http://mpchat.com/blank/player.swf" flashvars="file='+t2[0]+'&autostart='+autostart+'"');
var type = "application/x-shockwave-flash";
var file_tipe = new RegExp("(http:\/\/(.*\\.)(rmi|wmv|midi|mid|mpg|wav|snd|wma|mpeg|avi|mpe|m1v|mpa|aifc|aiff|au|aif|swf))");
if (src==t2[0]&&src.match(file_tipe)) type = "application/x-mplayer2";
if (src==t2[0]&&!src.match(file_tipe)){document.getElementById('video').innerHTML='Данный тип файлов не поддерживается или неверная ссылка'}
else {document.getElementById('video').innerHTML='<embed src='+src+' type='+type+' allowscriptaccess=always allowfullscreen=true width=250 height=200></embed>'};
text=text.replace('[video]'+t2[0]+'[/video]','<a href="'+t2[0]+'" target="_blank" title="ссылка откроется в новом окне">Видеоролик загружен!</a> ')}} else {text='Просмотр выключен';document.getElementById('video').innerHTML=''}}

1163
Денис @Анатолич
Шикарный скриптик. https://vmeste.eu/forum?pid=278264#p278264

Спасибо JackOFF за него. Или тому кто его написал. Вроде скрипт уже в каком то другом топике встречался, но я тогда не обратил на него внимания..
Поставил в свой фреймовый чат. Работает нормально. Но есть нарекания.

Когда диджеи ставят мп3 в чат. видеоролик вырубается. Что крайне неудобно.
Можно ли как то разделить музыку и видео? ну то есть музыка отдельно тегом [play][/play], а видео тегом [video][/video]

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

Если есть светлые головы помогите плиз. Для меня Яваскрипт- это лес дремучий.

1007
BETEPAH @BETEPAH
Анатолич пишет:

Шикарный скриптик. https://vmeste.eu/forum?pid=278264#p278264

Спасибо JackOFF за него. Или тому кто его написал. Вроде скрипт уже в каком то другом топике встречался, но я тогда не обратил на него внимания..
Поставил в свой фреймовый чат. Работает нормально. Но есть нарекания.

Когда диджеи ставят мп3 в чат. видеоролик вырубается. Что крайне неудобно.
Можно ли как то разделить музыку и видео? ну то есть музыка отдельно тегом [play][/play], а видео тегом [video][/video]

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

Если есть светлые головы помогите плиз. Для меня Яваскрипт- это лес дремучий.

Уберите из скрипта синее (4 символа - "mp3|")
var reg_swf = new RegExp("(http:\/\/(.*\\.)(mp3|flv))");

и mp3 не будет перебивать видео.

Отредактировано BETEPAH - 03.02.2012
1163
Денис @Анатолич
BETEPAH

спасибо большое. щас поковыряюсь.
Но заметил еще проблему. видео вырубается когда кто то входит или выходит.

И можно ли как то рарешить ставить ролики только определенным статусам? (диджеям)






Дополнил через несколько часов
видео пропадает при написании любым пользователем, любого сообщения. Печально(

Отредактировано Анатолич - 04.02.2012
549
PlumLi @PlumLi
помочь никто не может? (см. выше)

1410
Антон @tonik
PlumLi пишет:

помочь никто не может? (см. выше)

Ну так ты темку ВНИМАТЕЛЬНО почитай...
Вродь всё внятно описано...

549
PlumLi @PlumLi
вы попросили кинуть код, я его кинул, если туплю - то прошу прощения, тыкните пожалуйста в ошибку

415
Денис @FeNIX74
Скажите куда нужно засунуть <div id=video align="center" ></div> чтоб видео появлялось в фрейме сообщений как и плеер mp3 ??
И еще как сделать кнопку которая автоматически обрамляет ссылку на видео тегом [video][/video].

Заранее спасибо)

596
Сергей @Князь_Пипецкий
FeNIX74 пишет:

И еще как сделать кнопку которая автоматически обрамляет ссылку на видео тегом [video][/video].

Заранее спасибо)

<input type="image" src=ссылка на кнопку-картинку" title="Видео"
onclick="document.fmsg.text0.value='[video]'+document.fmsg.text0.value+'[/video]';document.fmsg.text0.focus();">

как то так вроде?

Отредактировано Князь_Пипецкий - 08.11.2012
415
Денис @FeNIX74
Князь_Пипецкий пишет:

FeNIX74 пишет:

И еще как сделать кнопку которая автоматически обрамляет ссылку на видео тегом [video][/video].

Заранее спасибо)

<input type="image" src=ссылка на кнопку-картинку" title="Видео"
onclick="document.fmsg.text0.value='[video]'+document.fmsg.text0.value+'[/video]';document.fmsg.text0.focus();">

как то так вроде?

да так только ты скобку пропустил src="