Project

General

Profile

Что играет в плеере виде XML

Доступно начиная с версии 2.15.102.7

Возможность реализована при помощи нескольких новых компонентов системы:

Система работает следующим образом:

  • Экстендер_ValueXPlayer считывает информацию с одного или нескольких Х-плееров и отправляет ее ValueServer, который ее сохраняет и предоставляет другим компонентам.
  • ValueXMLWriter при каждом изменении состояния сохраняет информацию в файл и, в дополнение, может запустить при этом внешнее приложение

Особенностью системы является:

  • независимое сохранение информации от разных плееров, можно настроить запись в разные файлы, с запуском разных приложений;
  • возможность произвольной компоновки: все компоненты могут находится в составе разных рабочих мест, связанных сетью или в одном единственном;
  • запись XML и запуск приложений можно настроить на отдельном месте, это не повлияет на работу эфирной машины;
  • возможность централизованной настройки: при наличии нескольких эфирных машин достаточно одного экземпляра ValueXMLWriter, пишущего информацию о всех плеерах
  • возможность сохранение нескольких файлов с информацией об одном плеере для разных задач
  • полная информация - в файл сохраняется вся информация, аналогично сохранению расписания в XML. В том числе, сохраняютcя и добавленные пользователями атрибуты БД, в примере - тэг .

Структура XML файла:

<root> 
  <ELEM_0> <!-- Воспроизводимый или находящийся в очереди воспроизведения элемент -->
    <Status>Playing</Status> <!-- Элемент воспроизводится -->
    <Block> <!-- Блок расписание к которому относится элемент -->
        <!-- Тэги описывающие блок -->
    </Block>
    <Elem> <!-- Элемент расписания -->
        <!-- Тэги описывающие элемент -->
    </Elem>
  </ELEM_0>
  <ELEM_1> <!-- Воспроизводимый или находящийся в очереди воспроизведения элемент -->
    <Status>Loaded</Status> <!-- Элемент находится в очереди воспроизведения -->
    <Block> <!-- Блок расписание к которому относится элемент -->
        <!-- Тэги описывающие блок -->
    </Block>
    <Elem> <!-- Элемент расписания -->
        <!-- Тэги описывающие элемент -->
    </Elem>
  </ELEM_1>
</root>

Поля описывающие блок и элемент расписания полностью соответствуют полям XML файла полученного при сохранении расписания в файл.
Описание полей можно посмотреть здесь: Сохранение_расписания_в_XML

Пример содержимого файла:

<code class="xml">
<root>
  <ELEM_0>
    <Status>Playing</Status>
    <Block>
      <BlockVersion dt="i4">9</BlockVersion>
      <CurId dt="i4">20</CurId>
      <FileName>816df519.blk</FileName>
      <Flags dt="i4">32</Flags>
      <ModifyDT dt="i8">129993617675302253</ModifyDT>
      <NumberOfSbjAudioItems>0</NumberOfSbjAudioItems>
      <NumberOfSubjects>0</NumberOfSubjects>
      <PlaylistDateStr>Friday 07.12.12</PlaylistDateStr>
      <RealBlockSize dt="i4">3484674</RealBlockSize>
      <Size dt="i4">0</Size>
      <Time dt="i4">0</Time>
      <Type dt="i4">1073741824</Type>
      <ValStorage>
        <RetrChanSrc dt="s"/>
      </ValStorage>
    </Block>
    <Elem>
      <Cmd dt="i4">0</Cmd>
      <DB_ModifyDT dt="i8">129993761266000000</DB_ModifyDT>
      <Freq dt="i4">44100</Freq>
      <ID dt="i4">18</ID>
      <JnglBtn dt="i4">-1</JnglBtn>
      <PhonoType dt="i4">4</PhonoType>
      <PrimaryCat dt="i4">21</PrimaryCat>
      <Runtime dt="i4">94955</Runtime>
      <Size dt="i4">0</Size>
      <SmplRealSize dt="i4">4187520</SmplRealSize>
      <StartTime dt="i4">481096</StartTime>
      <State dt="i4">2</State>
      <FONO_INFO>
        <FadeInType dt="i4">1</FadeInType>
        <FadeOutType dt="i4">1</FadeOutType>
        <FileName>d:\_git\digispot\current\exe.dbg\root\SND\Linkin Park – Jornada Del Muerto.mp3</FileName>
        <Gain dt="f">0</Gain>
        <MaxLvlOk dt="i4">0</MaxLvlOk>
        <Type dt="i4">3</Type>
        <VersionIsNull dt="i4">1</VersionIsNull>
        <dbID dt="i4">50</dbID>
        <FONO_ROTATOR_INFO/>
        <FONO_STRING_INFO>
          <Album>A Thousand Suns</Album>
          <Artist>Linkin Park</Artist>
          <Category>Category А</Category>
          <Comment>LPRussia.com</Comment>
          <CreateDT dt="i8">0</CreateDT>
          <DbName>CurrentTest</DbName>
          <ModifyDT dt="i8">129900017340000000</ModifyDT>
          <Name>Jornada Del Muerto</Name>
          <Year dt="i4">2010</Year>
        </FONO_STRING_INFO>
      </FONO_INFO>
      <SUBJECT/>
      <UserAttribs>
        <ELEM>
          <ID dt="i4">7</ID>
          <Name>Сomposer</Name>
          <Value>Famous composer</Value>
        </ELEM>
        <ELEM>
          <ID dt="i4">8</ID>
          <Name>Bandmaster</Name>
          <Value>Famous bandmaster</Value>
        </ELEM>
        <ELEM>
          <ID dt="i4">5</ID>
          <Name>Vocal</Name>
          <Value>Male</Value>
        </ELEM>
      </UserAttribs>
    </Elem>
  </ELEM_0>
  <ELEM_1>
    <Status>Loaded</Status>
    <Block>
      <BlockVersion dt="i4">9</BlockVersion>
      <CurId dt="i4">20</CurId>
      <FileName>816df519.blk</FileName>
      <Flags dt="i4">32</Flags>
      <ModifyDT dt="i8">129993617675302253</ModifyDT>
      <NumberOfSbjAudioItems>0</NumberOfSbjAudioItems>
      <NumberOfSubjects>0</NumberOfSubjects>
      <PlaylistDateStr>Friday 07.12.12</PlaylistDateStr>
      <RealBlockSize dt="i4">3484674</RealBlockSize>
      <Size dt="i4">0</Size>
      <Time dt="i4">0</Time>
      <Type dt="i4">1073741824</Type>
      <ValStorage>
        <RetrChanSrc dt="s"/>
      </ValStorage>
    </Block>
    <Elem>
      <Cmd dt="i4">0</Cmd>
      <DB_ModifyDT dt="i8">129993761559130000</DB_ModifyDT>
      <Freq dt="i4">44100</Freq>
      <ID dt="i4">19</ID>
      <JnglBtn dt="i4">-1</JnglBtn>
      <PhonoType dt="i4">4</PhonoType>
      <PrimaryCat dt="i4">21</PrimaryCat>
      <Runtime dt="i4">193906</Runtime>
      <Size dt="i4">0</Size>
      <SmplRealSize dt="i4">8551296</SmplRealSize>
      <StartTime dt="i4">576051</StartTime>
      <State dt="i4">0</State>
      <FONO_INFO>
        <FadeInType dt="i4">1</FadeInType>
        <FadeOutType dt="i4">1</FadeOutType>
        <FileName>C:\Users\Public\Music\Sample Music\Maid with the Flaxen Hair.mp3</FileName>
        <Gain dt="f">0</Gain>
        <MaxLvlOk dt="i4">0</MaxLvlOk>
        <Type dt="i4">3</Type>
        <VersionIsNull dt="i4">1</VersionIsNull>
        <dbID dt="i4">51</dbID>
        <FONO_ROTATOR_INFO/>
        <FONO_STRING_INFO>
          <Album>Fine Music, Vol. 1</Album>
          <Artist>Richard Stoltzman/Slovak Radio Symphony Orchestra</Artist>
          <Category>category А</Category>
          <Comment>http://www.surganova.su (spbaudio@inbox.ru)</Comment>
          <CreateDT dt="i8">0</CreateDT>
          <DbName>CurrentTest</DbName>
          <ModifyDT dt="i8">128312586840000000</ModifyDT>
          <Name>Maid with the Flaxen Hair</Name>
          <Year dt="i4">2003</Year>
        </FONO_STRING_INFO>
      </FONO_INFO>
      <SUBJECT/>
      <UserAttribs>
        <ELEM>
          <ID dt="i4">5</ID>
          <Name>Vocal</Name>
          <Value>Female</Value>
        </ELEM>
        <ELEM>
          <ID dt="i4">7</ID>
          <Name>Composer</Name>
          <Value>Other composer</Value>
        </ELEM>
        <ELEM>
          <ID dt="i4">8</ID>
          <Name>Bandmaster</Name>
          <Value>Other Bandmaster</Value>
        </ELEM>
      </UserAttribs>
    </Elem>
  </ELEM_1>
</root>
</code>

Пример настройки

what_is_onair_struct_eng.xml View (601 Bytes) Alexey Khakhanov (Tract), 24/05/2018 18:00

Add picture from clipboard (Maximum size: 645 MB)