|
|
<!-- <?xml version="1.0" ?>
|
|
|
<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd">
|
|
|
To validate or process this file as a standalone document, uncomment
|
|
|
this prolog. Be sure to comment it out again when you are done -->
|
|
|
<chapter id="faq">
|
|
|
<title
|
|
|
>Вопросы и ответы</title>
|
|
|
|
|
|
<para
|
|
|
>В этом разделы вы найдёте ответы на часто задаваемые вопросы об &arts;. </para>
|
|
|
|
|
|
<qandaset id="faq-general">
|
|
|
<title
|
|
|
>Общие вопросы</title>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Поддерживает ли &kde; мою звуковую карту? </para>
|
|
|
</question>
|
|
|
|
|
|
<answer>
|
|
|
<para
|
|
|
>Для воспроизведения звуков &kde; использует &arts;, а &arts; - драйверы ядра &Linux;: <acronym
|
|
|
>OSS</acronym
|
|
|
> или <acronym
|
|
|
>ALSA</acronym
|
|
|
> (с эмуляцией <acronym
|
|
|
>OSS</acronym
|
|
|
>). Всё будет работать, если они поддерживают вашу звуковую карту и она правильно настроена (т.е. другие приложения &Linux; могут производить звуки). Однако, с конкретным оборудованием могут возникнуть проблемы, об этом можно прочитать <link linkend="faq-hardware-specific"
|
|
|
>в разделе о проблемах с оборудованием </link
|
|
|
>. </para>
|
|
|
<para
|
|
|
>Кроме того, мы постоянно расширяем список поддерживаемых платформ. Это список для последней версии, если вашей там не оказалось, попробуйте портировать &arts; на нее. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Ввод и вывод звука в &arts;</entry>
|
|
|
<entry
|
|
|
>Комментарий</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>paud</entry>
|
|
|
<entry
|
|
|
>Поддержка AIX Personal Audio Device</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry
|
|
|
>alsa</entry>
|
|
|
<entry
|
|
|
>Драйверы ALSA-0.5 и ALSA-0.9 для Linux</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry
|
|
|
>libaudioio</entry>
|
|
|
<entry
|
|
|
>Поддержка библиотеки LibAudioIO для Solaris</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry
|
|
|
>nas</entry>
|
|
|
<entry
|
|
|
>Поддержка звукового сервера NAS, используется для X-терминалов с NAS</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry
|
|
|
>null</entry>
|
|
|
<entry
|
|
|
>Нулевое аудиоустройство, стирает данные о звуке</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry
|
|
|
>oss</entry>
|
|
|
<entry
|
|
|
>Поддержка OSS (Open Sound System), работает под Linux, различными BSD и другими платформами с установленными драйверами OSS</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry
|
|
|
>toss</entry>
|
|
|
<entry
|
|
|
>Расширенная поддержка OSS, исполльзуется тогда, когда стандартная система не работает.</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry
|
|
|
>sgi</entry>
|
|
|
<entry
|
|
|
>Поддержка SGI Direct Media для IRIX</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry
|
|
|
>sun</entry>
|
|
|
<entry
|
|
|
>Поддержка Solaris</entry>
|
|
|
</row>
|
|
|
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>&artsd; не может воспроизводить файлы <literal role="extension"
|
|
|
>wav</literal
|
|
|
>! </para>
|
|
|
</question>
|
|
|
|
|
|
<answer>
|
|
|
<para
|
|
|
>Проверьте, собрано ли приложение &artsd; с поддержкой <filename
|
|
|
>libaudiofile</filename
|
|
|
> (<userinput
|
|
|
><command
|
|
|
>ldd</command
|
|
|
> <parameter
|
|
|
>artsd</parameter
|
|
|
></userinput
|
|
|
>). Если нет, скачайте пакет tdesupport и скомпилируйте всё ещё раз. Будет работать. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Я могу слышать звук только когда вхожу в систему как пользователь <systemitem class="username"
|
|
|
>root</systemitem
|
|
|
>, у остальных звука нет! </para>
|
|
|
</question>
|
|
|
|
|
|
<answer>
|
|
|
<para
|
|
|
>На то, могут ли пользователи включать звук, влияют права в файле <filename class="devicefile"
|
|
|
>/dev/dsp</filename
|
|
|
>. Чтобы дать права всем пользователям , сделайте следущее: </para>
|
|
|
|
|
|
<procedure>
|
|
|
<step>
|
|
|
<para
|
|
|
>Войдите в систему как пользователь <systemitem class="username"
|
|
|
>root</systemitem
|
|
|
>. </para>
|
|
|
</step>
|
|
|
|
|
|
<step>
|
|
|
<para
|
|
|
>Откройте окно &konqueror;. </para>
|
|
|
</step>
|
|
|
|
|
|
<step>
|
|
|
<para
|
|
|
>Перейдите в каталог <filename class="directory"
|
|
|
>/dev</filename
|
|
|
>. </para>
|
|
|
</step>
|
|
|
|
|
|
<step>
|
|
|
<para
|
|
|
>Нажмите <mousebutton
|
|
|
>правую</mousebutton
|
|
|
> кнопку мыши на файле <filename
|
|
|
>dsp</filename
|
|
|
> и откройте свойства. </para>
|
|
|
</step>
|
|
|
|
|
|
<step>
|
|
|
<para
|
|
|
>Откройте вкладку <guilabel
|
|
|
>Права</guilabel
|
|
|
>. </para>
|
|
|
</step>
|
|
|
|
|
|
<step>
|
|
|
<para
|
|
|
>Выделите <guilabel
|
|
|
>Чтение</guilabel
|
|
|
> и <guilabel
|
|
|
>Запись</guilabel
|
|
|
> во всех строках. </para>
|
|
|
</step>
|
|
|
|
|
|
<step>
|
|
|
<para
|
|
|
>Нажмите кнопку <guibutton
|
|
|
>OK</guibutton
|
|
|
>. </para>
|
|
|
</step>
|
|
|
</procedure>
|
|
|
|
|
|
<para
|
|
|
>Или вы можете открыть окно терминала и набрать команду <userinput
|
|
|
><command
|
|
|
>chmod</command
|
|
|
> <option
|
|
|
>666</option
|
|
|
> <parameter
|
|
|
>/dev/dsp</parameter
|
|
|
></userinput
|
|
|
>. </para>
|
|
|
|
|
|
<para
|
|
|
>Для ограничения прав доступа конкретных пользователей используйте права групп. В некоторых дистрибутивах &Linux;, к примеру, в Debian/Potato, право доступа к <filename class="devicefile"
|
|
|
>/dev/dsp</filename
|
|
|
> имеет группа <systemitem class="groupname"
|
|
|
>audio</systemitem
|
|
|
>, вам остаётся только добавить в эту группу пользователей. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Это помогло для &artsd;, а что делать с &kmix;, &kmid;, &kscd; и т. д.? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
|
|
|
<para
|
|
|
>Есть и другие устройства для воспроизведения звука, к которым обращаются мультимедиа-приложения. Настраивать их можно так же, т. е. давать право доступа всем пользователям или группе. Этот список может быть и неполным (к тому же, есть устройства вроде <filename class="devicefile"
|
|
|
>midi0</filename
|
|
|
>, <filename class="devicefile"
|
|
|
>midi1</filename
|
|
|
>, ...: здесь перечислены только имена с 0). </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/admmidi0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/adsp0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/amidi0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/amixer0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/audio</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/audio0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/cdrom</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/dmfm0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/dmmidi0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/dsp</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/dsp0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/midi0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/midi0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/midi00</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/midi00</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/mixer</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/mixer0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/mpu401data</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/mpu401stat</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/music</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/rmidi0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/rtc</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/sequencer</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/smpte0</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<filename class="devicefile"
|
|
|
>/dev/sndstat</filename>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Что делать, если artsd не запускается или работает с ошибками?</para>
|
|
|
</question>
|
|
|
|
|
|
<answer>
|
|
|
<para
|
|
|
>Прежде всего, попробуйте установить параметры по умолчанию в &kcontrol; (или, если вы начинаете работу в ручном режиме, не задавайте дополнительных параметров, кроме <userinput
|
|
|
><option
|
|
|
>-F</option
|
|
|
><parameter
|
|
|
>10</parameter
|
|
|
> <option
|
|
|
>-S</option
|
|
|
><parameter
|
|
|
>4096</parameter
|
|
|
></userinput
|
|
|
> для задержки). Наиболее высокая вероятность ошибки в <emphasis
|
|
|
>двустороннем режиме</emphasis
|
|
|
>, поэтому постарайтесь его отключить. </para>
|
|
|
|
|
|
<para
|
|
|
>Хороший способ понять, почему &artsd; не запускается (или работает с ошибками) - это запустить его вручную. Откройте окно &konsole; и сделайте следущее: </para>
|
|
|
|
|
|
<screen width="40"
|
|
|
><prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>artsd</command
|
|
|
> <option
|
|
|
>-F</option
|
|
|
><parameter
|
|
|
>10</parameter
|
|
|
> <option
|
|
|
>-S</option
|
|
|
><parameter
|
|
|
>4096</parameter
|
|
|
></userinput
|
|
|
></screen>
|
|
|
|
|
|
<para
|
|
|
>Вы можете добавить параметр <option
|
|
|
>-l0</option
|
|
|
>, который выведет больше информации о том, что происходит: </para>
|
|
|
<screen width="40"
|
|
|
><prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>artsd</command
|
|
|
> <option
|
|
|
>-l0</option
|
|
|
> <option
|
|
|
>-F</option
|
|
|
><parameter
|
|
|
>10</parameter
|
|
|
> <option
|
|
|
>-S</option
|
|
|
><parameter
|
|
|
>4096</parameter
|
|
|
></userinput
|
|
|
></screen>
|
|
|
|
|
|
<para
|
|
|
>Вы, возможно, получите объяснение того, почему &artsd; не запускается. Или, если во время работы возникают ошибки, вы увидите, <quote
|
|
|
>где</quote
|
|
|
> они. Если хотите сообщить об ошибке, вложите лог с <command
|
|
|
>gdb</command
|
|
|
> и/или <command
|
|
|
>strace</command
|
|
|
>. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Могу ли я переместить &artsd; (перенести скомпилированные файлы в другой каталог)?</para>
|
|
|
</question>
|
|
|
|
|
|
<answer>
|
|
|
<para
|
|
|
>Вы не сможете переместить &arts; без проблем. Дело в том, что информация о расположении скомпилированного &artsd; хранится в &artswrapper; (это необходимо для обеспечения безопасности). Однако вы можете заставить перемещённый &artsd; хотя бы находить компоненты, для этого используйте файл <filename
|
|
|
>.mcoprc</filename
|
|
|
> (TraderPath/ExtensionPath entries). Подробности - в <link linkend="the-mcoprc-file"
|
|
|
>главе о файле <filename
|
|
|
>.mcoprc</filename
|
|
|
></link
|
|
|
>. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Могу ли я скомпилировать &arts; gcc-3.0?</para>
|
|
|
</question>
|
|
|
|
|
|
<answer>
|
|
|
<para
|
|
|
>Если коротко, нет. скомпилированный gcc-3.0 &arts; не будет работать. </para>
|
|
|
|
|
|
<para
|
|
|
>В официальной версии содержатся две ошибки, влияющие на &arts;. Первая - gcc-3.0 bug c++/2733 относительно безобидна (и должна справляться с проблемами инструкций ассемблера). Она прерывает компиляцию convert.cc и исправлена в gcc-3.0 CVS. Ее не должно быть в gcc-3.0.1 и выше. Также была доработана CVS-версия KDE/aRts. </para>
|
|
|
<para
|
|
|
>Вторая - gcc-3.0 bug, c++/3145 (генерация неправильного кода для некоторых случаев множественного виртуального наследования) гораздо важнее. Такие приложения, как &artsd;, не будут запускаться после компиляции с gcc-3.0. Даже если в gcc-3.0 что-то исправили за время написания этого FAQ, &artsd; всё равно очень часто и непредсказуемо прекращает работу. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Какие приложения работают с &arts;?</para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
|
|
|
<para
|
|
|
>Вообще, все приложения &kde; работают с &arts;: </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
>&noatun;</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
>&arts-builder;</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
>&aktion;</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
>&kmid;</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
>&kmidi;</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
>&kmix;</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
>&kscd;</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
>такие игры &kde;, как &kpoker; и &ktuberling;</para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para
|
|
|
>Некоторые приложения, пока не включённые в &kde; (к примеру, в kdenonbeta), всё же поддерживают &arts;: </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
>&brahms;</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><application
|
|
|
>Kaboodle</application
|
|
|
></para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><application
|
|
|
>Kdao</application
|
|
|
></para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para
|
|
|
>С &arts; работают и следущие приложения (не для &kde;): </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
><application
|
|
|
>xmms</application
|
|
|
> (с модулем &arts;)</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Real Networks <application
|
|
|
>RealPlayer</application
|
|
|
> 8.0 (работает с &artsdsp;, полная поддержка &arts; в разработке)</para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para
|
|
|
>Следущие приложения <emphasis
|
|
|
>не</emphasis
|
|
|
> работают с &arts;: </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
>нет</para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para
|
|
|
>См. также ответы на вопросы о <link linkend="faq-non-arts"
|
|
|
> приложениях не для &arts;</link
|
|
|
>. </para>
|
|
|
|
|
|
<para
|
|
|
>Этот раздел ещё не закончен. Если вы знаете, какие приложения работают (или не работают) с &arts;, напишите автору, чтобы дополнить списки. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
</qandaset>
|
|
|
|
|
|
<qandaset id="faq-non-arts">
|
|
|
<title
|
|
|
>Приложения не для &arts;</title>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Как только запускается &kde;, ни одно приложение не может получить доступ к звуковой карте! </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Так как звуковой сервер &arts; запускается вместе с &kde;, он использует звуковую карту. Если сервер бездействует 60 секунд, он автоматически прекращает работу и освобождает устройство. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Вы сказали, что сервер ждёт 60 секунд, а у меня не так! </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Если вы запускаете artsd с панели управления KDE время ожидания по умолчанию будет 60 секунд. Если же из командной строки, нужно указывать его с помощью параметра -s. </para>
|
|
|
<para
|
|
|
>При использовании двустороннего режима сервер не отключается. Выключите его в &kcontrol;. Это вообще хорошая мысль, если вы используете &arts; только для прослушивания музыки, а не для записи. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Могу ли я запускать старые приложения, не поддерживающие &arts;? </para>
|
|
|
</question>
|
|
|
|
|
|
<answer>
|
|
|
<para
|
|
|
>Запускайте их с помощью &artsdsp;. К примеру, если обычно вы запускаете их так: </para>
|
|
|
|
|
|
<screen
|
|
|
><prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>mpg123</command
|
|
|
> <option
|
|
|
>foo.mp3</option
|
|
|
></userinput
|
|
|
></screen>
|
|
|
|
|
|
<para
|
|
|
>теперь набирайте следущее:</para>
|
|
|
|
|
|
<screen
|
|
|
><prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>artsdsp</command
|
|
|
> <option
|
|
|
>mpg123 foo.mp3</option
|
|
|
></userinput
|
|
|
></screen>
|
|
|
|
|
|
<para
|
|
|
>Звуковой выход будет перенаправляться в &arts;. Так вы не внесёте каких-либо изменений в ваши приложения. Вообще говоря, это уловка, и некоторые приложения могут не работать, или не будут использоваться все возможности звуковой карты. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Я не могу запустить &artsdsp; никаким приложением, всё время выскакивают ошибки! </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Вам нужна последняя версия библиотеки glibc; &artsdsp; не работает на более ранних дистрибутивах &Linux;. К примеру, в Debian 2.1 (основанный на glibc 2.0) он не работает, а в Debian 2.2 (основанный на glibc 2.1.3) работает. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Есть ли какие-нибудь теоретические ограничения работы некоторых приложений с &artsdsp;? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Нет. Использование &artsdsp; может вылиться в большую задержку и более активное использовании процессора, чем при использовании &arts; <acronym
|
|
|
>API</acronym
|
|
|
>. Если всё-таки какое-то приложение не работает, это ошибка в &artsdsp;. Техника, применяемая в &artsdsp;, если она правильно реализована, должна позволять <emphasis
|
|
|
>каждому</emphasis
|
|
|
> приложению работать (включая такие объёмные приложения, как <application
|
|
|
>Quake</application
|
|
|
> 3). </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Что мне делать, если приложение не работает с &artsdsp;? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Вы можете подождать, пока отключится &artsd;, или отключить его самостоятельно. Для этого наберите в командной строке <userinput
|
|
|
><command
|
|
|
>artsshell</command
|
|
|
> <option
|
|
|
>suspend</option
|
|
|
> </userinput
|
|
|
>. Если в данный момент не работают никакие приложения &arts;, сервер отключится (и вы не сможете их запустить). </para>
|
|
|
|
|
|
<para
|
|
|
>Если сервер занят, попробуйте грубый, но эффективный метод: </para>
|
|
|
|
|
|
|
|
|
<screen
|
|
|
><prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>killall</command
|
|
|
> <option
|
|
|
>artsd</option
|
|
|
> ; <command
|
|
|
>killall</command
|
|
|
> <option
|
|
|
>artswrapper</option
|
|
|
></userinput>
|
|
|
<lineannotation
|
|
|
>Теперь запустите своё приложение.</lineannotation>
|
|
|
<prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>kcminit</command
|
|
|
> <option
|
|
|
>arts</option
|
|
|
></userinput
|
|
|
>
|
|
|
</screen>
|
|
|
|
|
|
<para
|
|
|
>Работающие приложения &arts; завершатся с ошибками, если вы отключите сервер. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Что насчет приложений, написанных под &kde; 1.x? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Если вы работаете с приложениями &kde; 1.x, которые воспроизводят звук через звуковой сервер &kde; 1, запустите <application
|
|
|
>kaudioserver</application
|
|
|
>. Это делается так же, как и для не-&arts; приложений. </para>
|
|
|
|
|
|
<screen
|
|
|
><prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>artsdsp</command
|
|
|
> <option
|
|
|
>kaudioserver</option
|
|
|
></userinput
|
|
|
>
|
|
|
</screen>
|
|
|
|
|
|
<para
|
|
|
>Вам нужно установить kaudioserver (взятый из того же источника, что и ваши приложения для &kde; 1.x), он принадлежит &kde; 1.x, а не &kde; 2. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Как насчёт приложений, использующих облегчённый звуковой сервис <acronym
|
|
|
>ESD</acronym
|
|
|
>? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Выход такой же, как и с приложениями <application
|
|
|
>kaudioserver</application
|
|
|
>. Вам нужно запустить сервер esd (это можно сделать с помощью &artsdsp;), тогда все приложения, поддерживающие <acronym
|
|
|
>ESD</acronym
|
|
|
>, будут работать: </para>
|
|
|
<screen
|
|
|
><prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>artsdsp</command
|
|
|
> <option
|
|
|
>esd</option
|
|
|
></userinput
|
|
|
>
|
|
|
</screen>
|
|
|
<para
|
|
|
>Свежие версии aRts (
|
|
|
>= 1.2.0) могут также работать с ESD (enlightened sound daemon). Укажите в командной строке параметр -a, например: </para>
|
|
|
<screen
|
|
|
><prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>artsd</command
|
|
|
> <option
|
|
|
>-a esd</option
|
|
|
></userinput
|
|
|
>
|
|
|
</screen>
|
|
|
<para
|
|
|
>для глобальной поддержки ESD в KDE, настройте artsd на работу с esd в разделе Центра управления Звук -> Звуковой сервер -> Ввод-вывод звука. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
</qandaset>
|
|
|
|
|
|
<qandaset id="faq-latency">
|
|
|
<title
|
|
|
>Задержка</title>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Во время прослушивания иногда слышны короткие паузы. Это ошибка? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Скорее всего, это не ошибка, но паузы говорят о том, что ядро &Linux; не справляется с работой в режиме реального времени. Могут возникнуть ситуации, когда &arts; не сможет продолжать воспроизведение. Вы, однако, можете дать права реального времени (в &kcontrol;) и уменьшить задержку (<guilabel
|
|
|
>250ms</guilabel
|
|
|
> или <guilabel
|
|
|
>не важно</guilabel
|
|
|
>), чтобы улучшить ситуацию. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Какой эффект у параметра времени ответа? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Статья помощи по этому параметру в &kcontrol;, возможно, введёт вас в заблуждение. Чем меньше значение, тем меньше времени требуется &arts;, чтобы ответить на внешние события (т.е. время после закрытия окна и до воспроизведения звука), тем больше требуется ресурсов процессора и тем больше вероятность выпаданий.</para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Есть ли ещё какие-нибудь способы убрать паузы? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Если вы пользуетесь драйвером <acronym
|
|
|
>IDE</acronym
|
|
|
>, напишите команду <command
|
|
|
>hdparm</command
|
|
|
> для переключения <acronym
|
|
|
>IDE</acronym
|
|
|
> в режим <acronym
|
|
|
>DMA</acronym
|
|
|
>. Это работает не для всех устройств и, возможно, будет трудно вернуться в начальное сотояние или, в очень редких случаях, будут потеряны данные. Чтобы узнать подробности, прочтите документацию по команде <command
|
|
|
>hdparm</command
|
|
|
>. У меня всё получилось с командой: </para>
|
|
|
|
|
|
<screen
|
|
|
><prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>hdparm</command
|
|
|
> <option
|
|
|
>-c1</option
|
|
|
> <option
|
|
|
>-d1</option
|
|
|
> <option
|
|
|
>-k1</option
|
|
|
> <option
|
|
|
>-K1</option
|
|
|
> <parameter
|
|
|
>/dev/hda</parameter
|
|
|
></userinput
|
|
|
>
|
|
|
</screen>
|
|
|
|
|
|
<para
|
|
|
>Вам нужно будет проделывать это при каждом запуске системы. Возможно, вы захотите добавить её в сценарий запуска системы (это зависит от дистрибутива, в Debian &Linux; он обычно находится в <filename
|
|
|
>/etc/rc.boot</filename
|
|
|
>). </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Приоритет реального времени на меня совсем не влияет? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Убедитесь в том, что artswrapper действительно установлен suid <systemitem class="username"
|
|
|
>root</systemitem
|
|
|
>, как это должно быть. Во многих дистрибутивах (SuSE7.x, к примеру) это не делается. Проверить это можно так: ls -l $(which artswrapper). Хорошо: <screen>
|
|
|
<prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>ls</command
|
|
|
> <option
|
|
|
>-l</option
|
|
|
> <parameter
|
|
|
>$(which artswrapper)</parameter
|
|
|
></userinput>
|
|
|
-rwsr-xr-x 1 root root 4556 Sep 24 18:05 /opt/kde2/bin/artswrapper
|
|
|
</screen
|
|
|
> Плохо: <screen>
|
|
|
<prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>ls</command
|
|
|
> <option
|
|
|
>-l</option
|
|
|
> <parameter
|
|
|
>$(which artswrapper)</parameter
|
|
|
></userinput>
|
|
|
-rwxr-xr-x 1 root root 4556 Sep 24 18:05 /opt/kde2/bin/artswrapper
|
|
|
</screen
|
|
|
> Если у вас нет s, его можно получить с помощью: <screen
|
|
|
><prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>chown</command
|
|
|
> <option
|
|
|
>root</option
|
|
|
> <parameter
|
|
|
>$(which artswrapper)</parameter
|
|
|
></userinput>
|
|
|
<prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>chmod</command
|
|
|
> <option
|
|
|
>4755</option
|
|
|
> <parameter
|
|
|
>$(which artswrapper)</parameter
|
|
|
></userinput
|
|
|
>
|
|
|
</screen>
|
|
|
</para>
|
|
|
|
|
|
<para
|
|
|
>Если вы сделаете &artswrapper; SUID <systemitem class="username"
|
|
|
>root</systemitem
|
|
|
>, это, скорее всего, улучшит качество воспроизведения, удаляя паузы. Однако риск того, что ошибка в коде или злобный пользователь вызовут прерывание программы (или что-нибудь поломают), увеличится. К тому же, в машинах, на которых работают несколько пользователей, приоритет хорошего качества звука может привести к ухудшению работы компьютера, если кто-то будет пытаться его использовать <quote
|
|
|
>продуктивно</quote
|
|
|
>.</para>
|
|
|
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Почему &artsd; использует так много процессорного времени? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Проверьте настройки времени ответа. Хотя текущая версия ещё не оптимизирована. Мы работаем над этим, но сказать, насколько быстрее будет &artsd;, не можем. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
</qandaset>
|
|
|
|
|
|
<qandaset id="faq-network">
|
|
|
<title
|
|
|
>Прозрачность сети</title>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Зачем нужна прозрачность сети? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Включите её в &kcontrol; настройках <guilabel
|
|
|
>Звуковая подсистема</guilabel
|
|
|
> (<guilabel
|
|
|
>Обмениваться информацией о безопасности и идентификации через сервер X11</guilabel
|
|
|
> и <guilabel
|
|
|
>Принимать сетевые запросы</guilabel
|
|
|
>). Скопируйте <filename
|
|
|
>.mcoprc</filename
|
|
|
> на все машины, на которых сервер должен принимать запросы из сети. Зайдите в систему ещё раз. Убедитесь в том, что узлы обращаются друг к другу по имени (т.е. у них есть разрешимые имена или они находятся в <filename
|
|
|
>/etc/hosts</filename
|
|
|
>). </para>
|
|
|
|
|
|
<para
|
|
|
>Это всё, что надо сделать. Если всё-таки не работает, вот несколько замечаний. &arts; и &artsd; должны быть запущены только на узле со звуковой картой (где и будет воспроизводиться звук). Они могут запускаться при входе в &kde; (если вы это указали в &kcontrol;) или вручную: </para>
|
|
|
|
|
|
<screen
|
|
|
><prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>artsd</command
|
|
|
> <option
|
|
|
>-n</option
|
|
|
> <option
|
|
|
>-F</option
|
|
|
> <parameter
|
|
|
>5</parameter
|
|
|
> <option
|
|
|
>-S</option
|
|
|
> <parameter
|
|
|
>8192</parameter
|
|
|
></userinput
|
|
|
>
|
|
|
</screen>
|
|
|
|
|
|
<para
|
|
|
>Параметр <option
|
|
|
>-n</option
|
|
|
> нужен для разрешения сетевых запросов, тогда как остальные используются для настройки задержки. </para>
|
|
|
|
|
|
<para
|
|
|
>В файле <filename
|
|
|
>.mcoprc</filename
|
|
|
> должна содержаться запись: </para>
|
|
|
|
|
|
<screen
|
|
|
><userinput
|
|
|
>GlobalComm=Arts::X11GlobalComm</userinput
|
|
|
>
|
|
|
</screen>
|
|
|
|
|
|
<para
|
|
|
>на всех машинах для поддержки работы в сети. Это включается при установке флажка <guilabel
|
|
|
>Обмениваться информацией о безопасности и идентификации через сервер X11</guilabel
|
|
|
> на панели управления. </para>
|
|
|
|
|
|
<para
|
|
|
>Наконец, в любой версии &kde; серии 2.0.x есть ошибка, возникающая, если вы не указали имя домена. Клиенты &artsd; пытаются найти, куда можно подключиться, используя комбинацию <systemitem class="systemname"
|
|
|
><replaceable
|
|
|
>имя узла</replaceable
|
|
|
>.<replaceable
|
|
|
>имя домена</replaceable
|
|
|
></systemitem
|
|
|
>. Если имя домена пустое, они будут подключаться к <systemitem class="systemname"
|
|
|
> <replaceable
|
|
|
>имени узла</replaceable
|
|
|
></systemitem
|
|
|
>. (заметьте, дополнительная точка). Добавление такой записи в <filename
|
|
|
>/etc/hosts</filename
|
|
|
> (т.е. <userinput
|
|
|
>orion.</userinput
|
|
|
>, если имя узла <systemitem class="systemname"
|
|
|
>orion</systemitem
|
|
|
>) решит проблему. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Как мне настроить сети, если она не работает? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Если у вас есть исходный код &kde;, зайдите в <filename class="directory"
|
|
|
>tdelibs/arts/examples</filename
|
|
|
>, и запустите <userinput
|
|
|
><command
|
|
|
>make</command
|
|
|
> <option
|
|
|
>check</option
|
|
|
></userinput
|
|
|
>, чтобы скомпилировать некоторые программы, включая <application
|
|
|
>referenceinfo</application
|
|
|
>. После этого запустите </para>
|
|
|
|
|
|
<screen
|
|
|
><prompt
|
|
|
>%</prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>./referenceinfo</command
|
|
|
> <option
|
|
|
>global:Arts_SimpleSoundServer</option
|
|
|
></userinput
|
|
|
>
|
|
|
</screen>
|
|
|
|
|
|
<para
|
|
|
>Будут выведены имя узла и используемый &arts;. К примеру, <computeroutput
|
|
|
>tcp:orion:1698</computeroutput
|
|
|
> значит, что любой клиент, пытающийся использовать прозрачность сети, должен знать, как подключиться к узлу <systemitem class="systemname"
|
|
|
>orion</systemitem
|
|
|
>. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
</qandaset>
|
|
|
|
|
|
<qandaset id="faq-hardware-specific">
|
|
|
<title
|
|
|
>Вопросы, связанные с аппаратным обеспечением</title>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>С каким оборудованием artsd не работает? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Не все звуковые драйверы Linux хорошо работают с aRts в некоторых версиях ядра. Ознакомьтесь с этим списком, прежде чем сообщать об ошибке. Если же вы встретились с чем-либо, отсутствующим в списке, сразу же сообщите об этом. <informaltable
|
|
|
> <tgroup cols="4">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Дравер и звуковая плата Linux</entry>
|
|
|
<entry
|
|
|
>Не работает в </entry>
|
|
|
<entry
|
|
|
>Работает в </entry>
|
|
|
<entry
|
|
|
>Примечания</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Драйвер i810 (Intel 810 + AC97 Audio)</entry>
|
|
|
<entry
|
|
|
>2.4.9</entry>
|
|
|
<entry
|
|
|
>2.4.18, 2.2.20, коммерческий драйвер oss, alsa-0.5.12a с эмуляцией OSS</entry>
|
|
|
<entry
|
|
|
>драйвер вызывает перегрузку процессора (см. ниже)</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry
|
|
|
>maestro 3/4 chipset</entry>
|
|
|
<entry
|
|
|
>2.4.9</entry>
|
|
|
<entry
|
|
|
>?</entry>
|
|
|
<entry
|
|
|
>драйвер иногда вызывает перегрузку процессора (см. ниже)</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry
|
|
|
>драйверы aureal8820, aureal8830 с sourceforge</entry>
|
|
|
<entry
|
|
|
>2.4.17</entry>
|
|
|
<entry
|
|
|
>?</entry>
|
|
|
<entry
|
|
|
>Драйвер не проходит проверку или вызывает перегрузку процессора (см. ниже)</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry
|
|
|
>Коммерческий драйвер OSS 3.9.4g с Aureal Vortex</entry>
|
|
|
<entry
|
|
|
>?</entry>
|
|
|
<entry
|
|
|
>?</entry>
|
|
|
<entry
|
|
|
>системный сбой</entry>
|
|
|
</row>
|
|
|
|
|
|
<row>
|
|
|
<entry
|
|
|
>ymfpci</entry>
|
|
|
<entry
|
|
|
>2.4.0, 2.4.12</entry>
|
|
|
<entry
|
|
|
>2.4.17</entry>
|
|
|
<entry
|
|
|
>Драйвер не проходит проверку (см. ниже)</entry>
|
|
|
</row>
|
|
|
|
|
|
|
|
|
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Почему возникают проблемы с оборудованием и как мне о них узнать? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Обычная поблема - драйвер не предоставляет достаточно информации aRts (или даёт неправильную) о том, когда нужно писать звуковые данные. Большинство драйверов OSS предоставляют правильные данные, но не все. </para>
|
|
|
<para
|
|
|
>Вы, возможно, заметили, что не всем приложениям (как xmms) нужна эта информация, поэтому они работают нормально даже с вашей звуковой картой. Но для &arts; она необходима, поэтому artsd выполняется с ошибками. Это ошибка в драйвере, а не в &arts;. </para>
|
|
|
<para
|
|
|
>Есть два варианта поведения artsd при запуске с некорректным драйвером. Во-первых, он постоянно пытается передать новые данные, но безуспешно. В результате потребляются все ресурсы процессора, выводится отчёт о <emphasis
|
|
|
>перегрузке cpu</emphasis
|
|
|
>, и приложение закрывается. Другое дело, когда artsd получает неправильную информацию о том, какой объем данных нужно записать. Тогда он прекращает работать на примерно такой <emphasis
|
|
|
>проверке</emphasis
|
|
|
>: <screen
|
|
|
>artsd: audiosubsys.cc:458: void Arts::AudioSubSystem::handleIO(int):
|
|
|
Assertion `len == can_write'.
|
|
|
Aborted
|
|
|
</screen>
|
|
|
</para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Что не так с драйвером, если выдаётся ошибка о пререгрузке процессора? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Обычно artsd узнаёт, когда надо записывать новые данные, с помощью функции select(). Потом используется ioctl(...GETOSPACE...) для поиска объема данных для записи. И, наконец, данные записываются. </para>
|
|
|
<para
|
|
|
>Проблемы возникают тогда, когда artsd постоянно работает или объём данных для записи слишком мал. В документации OSS указано, то select() только запускает процесс, если есть хоть что-то для записи, к примеру, один байт. Тогда запись данных продолжается небольшими частями, что очень трудоёмко, и в результате процессор перегружается. </para>
|
|
|
<para
|
|
|
>Чтобы такого не происходило, драйвер должен вызывать artsd только тогда, когда есть целый фрагмент информации для записи. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Что не так с драйвером, если мне выдаётся сообщение об ошибке при проверке? </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Обычно artsd узнаёт, когда надо записывать новые данные, с помощью функции select(). Потом используется ioctl(...GETOSPACE...) для поиска объема данных для записи. И, наконец, данные записываются. </para>
|
|
|
<para
|
|
|
>Если artsd не может записать тот объём информации, которы указан в ioctl, будет выдаваться эта ошибка. Чтобы исправить ситуацию, драйвер должен предоставлять правильную информацию. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
</qandaset>
|
|
|
|
|
|
<qandaset id="faq-other">
|
|
|
<title
|
|
|
>Другие проблемы</title>
|
|
|
|
|
|
<qandaentry>
|
|
|
<question>
|
|
|
<para
|
|
|
>Я не могу работать с &arts-builder;. Во время работы модуля возникают ошибки! </para>
|
|
|
</question>
|
|
|
<answer>
|
|
|
<para
|
|
|
>Обычно так получается при использовании старых структур или модулей, которые не поддерживаются версией &kde; 2. К сожалению, информация об &arts;-0.3.4.1 устарела. Самой распространённой ошибкой является выполнение структуры &arts-builder;, приводящей к ошибке <errorname
|
|
|
>[artsd] Synth_PLAY: audio subsystem is already used.</errorname
|
|
|
> </para>
|
|
|
|
|
|
<para
|
|
|
>Следует использовать модуль Synth_AMAN_PLAY вместо Synth_PLAY. Прочитайте файл помощи &arts-builder; (нажмите <keycap
|
|
|
>F1</keycap
|
|
|
> в &arts-builder;). </para>
|
|
|
|
|
|
<para
|
|
|
>В последних версиях &arts-builder; (&kde; 2.1 beta 1 и позднее) есть примеры, которые вы можете использовать. </para>
|
|
|
</answer>
|
|
|
</qandaentry>
|
|
|
|
|
|
</qandaset>
|
|
|
|
|
|
</chapter>
|