Работа с модулями

Re: Работа с модулями

Postby LRoman » 18 Feb 2013, 20:43

Что то не нашел я как это реализовать. В каком готовом модуле можно это подглядеть?
Примерчик бы рабочий.
Или на примере:
Code: Select all
<onRefresh>
   if (startVideo == 1)
   {
      playItemURL(-1, 1);

      cTitle = getItemInfo( cItem, "title" );
      cImg   = getItemInfo( cItem, "image" );
      cUrl   = getItemInfo( cItem, "link" );
      cAct   = getItemInfo( cItem, "action" );
      if( cAct == "get" )
      {
         showIdle;
         cUrl = getUrl( cUrl );
         cancelIdle;
      }
      setRefreshTime(1000);
      startVideo = 0;
      showInfo = 1;
      timeLine = "";
      playItemURL(cUrl, 0, "mediaDisplay", "previewWindow");
   }

   vidProgress = getPlaybackStatus();
   bufProgress = getCachedStreamDataSize(0, 262144);
   playElapsed = getStringArrayAt(vidProgress, 0);
   playTotal = getStringArrayAt(vidProgress, 1);
   playStatus = getStringArrayAt(vidProgress, 3);

   if (playElapsed != 0)
   {
      x = Integer(playElapsed / 60);
      h = Integer(playElapsed / 3600);
      s = playElapsed - (x * 60);
      m = x - (h * 60);
      if(h &lt; 10) elapsedTime = "0" + sprintf("%s:", h);
      else elapsedTime = sprintf("%s:", h);
      if(m &lt; 10) elapsedTime += "0";
      elapsedTime += sprintf("%s:", m);
      if(s &lt; 10) elapsedTime += "0";
      elapsedTime += sprintf("%s", s);

      x = Integer(playTotal / 60);
      h = Integer(playTotal / 3600);
      s = playTotal - (x * 60);
      m = x - (h * 60);
      if(h &lt; 10) totalTime = "0" + sprintf("%s:", h);
      else totalTime = sprintf("%s:", h);
      if(m &lt; 10)  totalTime += "0";
      totalTime += sprintf("%s:", m);
      if(s &lt; 10) totalTime += "0";
      totalTime += sprintf("%s", s);

      timeLine = elapsedTime+"/"+totalTime;

      if (startVideo == 0)
      {
         if( showInfo == 1 )
         {
            startVideo = 2;
            statusTimeout = 5;
         }
      }
      else
      {
         if( showInfo == 0 ) statusTimeout = 0;
         else statusTimeout -= 1;

         if ( statusTimeout == 0 )
         {
            updatePlaybackProgress("delete", "mediaDisplay", "progressBar");
            showInfo = 0;
            startVideo = 0;
         }
      }
   }
   else if (playStatus == 0)
   {
      postMessage("<?= getRssCommand('return') ?>");
   }

   if(showInfo == 1)
   {
      updatePlaybackProgress(bufProgress, "mediaDisplay", "progressBar");
   }
  </onRefresh>


Жалко что мануалов в примерах нормальных нет. Было бы проще начинающим. Три дня просидел перед тем как начало получатся. Правда день из этого потратил на регулярки (всегда туго с ними было). Потом подружил с Zend_Dom_Query и все пошло быстрее.
LRoman
 
Posts: 4
Joined: 09 Feb 2013, 17:14

Re: Работа с модулями

Postby FarVoice » 18 Feb 2013, 20:56

вот player.rss из модуля autoplay:
| +
Code: Select all
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<script>
   currentItem = 0;
   playlist = "/tmp/ramfs/volumes/C:/playlist.m3u";
</script>

<onEnter>
   itemArray = readStringFromFile(playlist);

   itemCount = 0;
   itemUrl = getStringArrayAt(itemArray, itemCount);
   while(itemUrl != null) {
      itemCount = itemCount + 1;
      itemUrl = getStringArrayAt(itemArray, itemCount);
   }
   if (itemCount == 0) postMessage("return");
   setRefreshTime(10);
</onEnter>

<onExit>
   playItemURL(-1, 1);
   setRefreshTime(-1);
</onExit>

<onRefresh>
   vidProgress = getPlaybackStatus();
   playStatus = getStringArrayAt(vidProgress, 3);

   if (playStatus == 0)
   {
      itemUrl = getStringArrayAt(itemArray, currentItem);
      currentItem = currentItem + 1;
      if( currentItem == itemCount ) currentItem = 0;
      playItemURL(itemUrl, 0);
   }
   setRefreshTime(1000);
</onRefresh>

<mediaDisplay name = "onePartView"
 showDefaultInfo = "no"
 sideLeftWidthPC = "0"
 sideRightWidthPC = "0"
 backgroundColor="0:0:0"
>
</mediaDisplay>

<channel>
   <title>Play list</title>
   <link>rss_file://../etc/player.rss</link>   
   
</channel>
</rss>
ASUS O!Play R1 (amp_r12_vrtn), xTreamer Pro (amp_r12_vrt), xTreamer Prodigy (iNeXT 2.14 r2), IconBIT HDR12L (amp_r12_vrt), 3Q F425HW (xds42gl_7725_r3), MyGica A11 (mygica_m3_20121222)
User avatar
FarVoice
Администратор
 
Posts: 8572
Joined: 03 Sep 2010, 01:27
Location: Russia, Moscow

Re: Работа с модулями

Postby mobil1 » 20 Feb 2013, 17:56

source | +
Code: Select all
dlok = loadXMLFile("http://tv2.ru/rss/1000.xml");
 if (dlok != null)
 {   
  itemSize = 40;
  print("itemSize = ", itemSize);
  if(itemSize &gt; 0)
  {
   itemCount = 0;
   while(1)
   {
    itemTitle = getXMLText("rss", "channel", "item", itemCount, "title");
    print("itemTitle = ", itemTitle);
    itemTitleArray = pushBackStringArray(itemTitleArray, itemTitle);
    itemPublic = getXMLText("rss", "channel", "item", itemCount, "pubDate");
    itemPublicArray = pushBackStringArray(itemPublicArray,  itemPublic);
    itemImage = getXMLAttribute("rss", "channel", "item", itemCount, "media:thumbnail", "url");
    itemImageArray = pushBackStringArray(itemImageArray, itemImage);
    itemUrl = getXMLAttribute("rss", "channel", "item", itemCount, "media:content", "url");
    itemUrlArray = pushBackStringArray(itemUrlArray, itemUrl);
    itemCount += 1;
    if(itemCount == itemSize)
     break;
   }
   setFocusItemIndex(0);
  }
 }
 redrawDisplay();
</script>


itemSize = 40 вывожу первые сорок из xml, как мне сделать так чтобы я мог привязаться к PubDate ? например хочу сделать так чтобы он вывел мне только за определенную дату ( дата связана с PubDate, храниться в данном поле ) ?
mobil1
 
Posts: 4
Joined: 14 Jan 2013, 16:40

Re: Работа с модулями

Postby retv_qwe » 25 Feb 2013, 08:08

Подскажите, что за "артефакт" появляется при просмотре онлайн в виде (в правой половине экрана, посередине, в синем прямоугольнике), и в ней бегущая строка с названием и не уходит с экрана?
Этот "артефакт" наблюдается при использовании \mos\www\modules\core\rss_player.php
А так же заметил в модуле mos YouTube, но при просмотре больших роликов чисика так по 1,5.
3Q-F420HW на проце RT1073DD C+, прошивка официальная V9.11-Lite_2012-05-31, moServices core
retv_qwe
 
Posts: 233
Joined: 01 Jun 2012, 13:19

Re: Работа с модулями

Postby FarVoice » 25 Feb 2013, 11:52

@ retv_qwe в модуле youtube вообще используется чистый playItemUrl так что со всеми претензиями к артефактам - к производителю прошивки :)
ASUS O!Play R1 (amp_r12_vrtn), xTreamer Pro (amp_r12_vrt), xTreamer Prodigy (iNeXT 2.14 r2), IconBIT HDR12L (amp_r12_vrt), 3Q F425HW (xds42gl_7725_r3), MyGica A11 (mygica_m3_20121222)
User avatar
FarVoice
Администратор
 
Posts: 8572
Joined: 03 Sep 2010, 01:27
Location: Russia, Moscow

Re: Работа с модулями

Postby retv_qwe » 25 Feb 2013, 16:24

Да нууу???!!!
Стоило поменять mediaDisplay name="threePartsView" на mediaDisplay name="photoView" и этот "артефакт" пропал.
Странно....
Лучше бы помогли разобраться, а не на производителя прошивки сваливали, а то получается что я ваше изменил, может специально для каких то целей стоял параметр threePartsView, либо ваш файл скопировать в свою папку придется и его уже изменить.
3Q-F420HW на проце RT1073DD C+, прошивка официальная V9.11-Lite_2012-05-31, moServices core
retv_qwe
 
Posts: 233
Joined: 01 Jun 2012, 13:19

Re: Работа с модулями

Postby FarVoice » 25 Feb 2013, 17:39

Так. Давайте разбирацца. Покажите мне плиз, где ваще в модуле youtube присутствует threePartsView ?!
ASUS O!Play R1 (amp_r12_vrtn), xTreamer Pro (amp_r12_vrt), xTreamer Prodigy (iNeXT 2.14 r2), IconBIT HDR12L (amp_r12_vrt), 3Q F425HW (xds42gl_7725_r3), MyGica A11 (mygica_m3_20121222)
User avatar
FarVoice
Администратор
 
Posts: 8572
Joined: 03 Sep 2010, 01:27
Location: Russia, Moscow

Re: Работа с модулями

Postby retv_qwe » 25 Feb 2013, 18:17

Речь шла про файл rss_view_player.php , я его использую.
А YouTube я привел в пример, что я в нем натыкался на такой "артефакт" и еще где-то (в каком-то модуле) то же был такой эффект.
Ладно, я его в свою папку скопировал и оттуда использовать буду.
Просто странно как то получается, в одном случае есть "артефакт", в другом нет.
Строка берется вот отсюда: cTitle = getItemInfo( cItem, "title" );
Может быть не корректная строка и "артефакт" не отображался?
Но photoView гарантированно убирает этот "артефакт".
3Q-F420HW на проце RT1073DD C+, прошивка официальная V9.11-Lite_2012-05-31, moServices core
retv_qwe
 
Posts: 233
Joined: 01 Jun 2012, 13:19

Re: Работа с модулями

Postby FarVoice » 25 Feb 2013, 18:25

а попробуйте поставить onePartView
ASUS O!Play R1 (amp_r12_vrtn), xTreamer Pro (amp_r12_vrt), xTreamer Prodigy (iNeXT 2.14 r2), IconBIT HDR12L (amp_r12_vrt), 3Q F425HW (xds42gl_7725_r3), MyGica A11 (mygica_m3_20121222)
User avatar
FarVoice
Администратор
 
Posts: 8572
Joined: 03 Sep 2010, 01:27
Location: Russia, Moscow

Re: Работа с модулями

Postby retv_qwe » 27 Feb 2013, 16:39

FarVoice wrote:а попробуйте поставить onePartView
Только сегодня добрался до плеера. Поставил onePartView, "артефакт" появился, только теперь рамка шире и маленько выше и по краям рамки "острые концы". Как я уже писал, photoView гарантированно убирает "артефакт".
Я скопировал оба файла, подписал где есть "артефакт", а где нет.
Может так проще будет вам.
Что характерно, в этой рамке бежит, в виде бегущей строки, что в title.
123.zip
(4.18 KiB) Downloaded 296 times
3Q-F420HW на проце RT1073DD C+, прошивка официальная V9.11-Lite_2012-05-31, moServices core
retv_qwe
 
Posts: 233
Joined: 01 Jun 2012, 13:19

PreviousNext

Return to Разработка

Who is online

Users browsing this forum: No registered users and 18 guests