Главная » Статьи для тега "public"

Два вида ДИКМ-кодирования

Добавлено Дата: 3 April, 2012 категория: Программирование звука

Сложная  и  увлекательная  задача,  возникающая  в  процессе  разработки  качественной  ДИКМ-технологии,  представляет   собой  балансирование   между  двумя требованиями.  Чтобы  ваш  алгоритм  сохранял  звуки  максимально  точно,  необходимо  иметь  возможность  точно  записывать  каждое  из  приращений,  в  особенности,  небольшие.  Однако,  поскольку  потенциально  возможные  величины  занимают больший  диапазон,  вам,  вероятно,  понадобится  сохранять  иногда  встречающиеся большие  приращения.  Обычно  это  означает,  что  такое  приращение  само  по  себе закодировано. B табл. 12.1. в качестве примера приведены коды, используемые

Читать »

Класс Random

Добавлено Дата: 2 April, 2012 категория: Java

Объекты класса Random предназначены для работы с независимыми последовательностями псевдослучайных  чисел. Если вам нужна последовательность  типа double и вас не интересует порядок следования чисел, можно воспользоваться  методом java.lang.Math.random — он создает объект Random при первом вызове и в дальнейшем возвращает псевдослучайные  числа из этого объекта. Чтобы иметь больше средств для контроля за последовательностью (например, чтобы иметь возможность задать стартовое значение), создайте объект Random и получайте числа от него.

Читать »

Сервер политики

Добавлено Дата: 1 April, 2012 категория: Silverlight

Перед разработкой сокетного сервера нужно создать сервер политики, сообщающий Silverlight, каким клиентам разрешено устанавливать соединение с сокетным сервером.

Как было показано выше, Silverlight не разрешает загружать содержимое или вы­зывать веб-службу, если в домене нет файла clientaccesspolicy .xml или crossdomain. xml, в котором эти операции явно разрешены. Аналогичное ограничение налбжено и на сокетный сервер. Если не предоставить клиентскому устройству возможность загрузить файл clientaccesspolicy .xml, разрешающий отдаленный доступ, Silverlight откажется устанавливать соединение.

Читать »

Класс String Tokenizer

Добавлено Дата: 31 March, 2012 категория: Java

Класс StringTokenizer делит строку на части, используя для этого символы-разделители. Последовательность лексем, выделенных из строки, фактически представляет собой упорядоченный объект-перечисление, поэтому класс StringTokenizer реализует интерфейс Enumeration. Вы можете передавать объекты StringTokenizer методам, которые обрабатывают объекты-перечисления, или воспользоваться методами Enumeration для проведения итераций. StringTokenizer также предоставляет ряд методов с более конкретной типизацией. Перечисление StringTokenizer не гарантирует фиксации

Читать »

Детали формата

Добавлено Дата: 31 March, 2012 категория: Программирование звука

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

Проигрыватель  файлов  MOD  гораздо  более  сложен,  чем  проигрыватель  форматов  WAVE  или  AIFF  (но  менее  сложен,  хотя  это  спорно,  чем  проигрыватель MIDI).   Помимо   очевидно   необходимого   класса   ModRead,   определим   несколько вспомогательных:

Читать »

Класс Properties состоящий из строковых имен и связанных с ними строковых элементов

Добавлено Дата: 31 March, 2012 категория: Java

Еще один распространенный  вариант пары ключ/элемент — список свойств, состоящий из строковых имен и связанных с ними строковых элементов. Эта разновидность словаря часто обладает вспомогательным  набором элементов по умолчанию для свойств, отсутствующих в таблице. является расширением Hashtable. Практически для всех манипуляций со списками свойств используются методы Hashtable, однако для получения свойств применяется один из двух методов getProperty:

Читать »

Создание производных строк

Добавлено Дата: 30 March, 2012 категория: Java

Некоторые из методов класса String возвращают новые строки, которые отчасти напоминают исходные, но подвергшиеся определенным модификациям. Напоминаем, что новые строки должны возвращаться из-за того, что объекты String доступны только для чтения. Например, для извлечения из строки фрагмента, ограниченного заданными символами, может применяться следующий метод:

Читать »

Строки и символьные массивы

Добавлено Дата: 29 March, 2012 категория: Java

Содержимое строки может отображаться на символьный массив и наоборот. Часто в программе бывает необходимо предварительно построить строку в массиве char, после чего создать объект String по содержимому этого массива. Если описанный ниже класс StringBuffer (допускающий запись в строки) в каком-то конкретном случае не подходит, существует несколько методов и конструкторов класса String, помогающих преобразовать строку в массив char или же массив char — в строку.

Читать »

Использование Runnable

Добавлено Дата: 28 March, 2012 категория: Java

В интерфейсе Runnable абстрагируется концепция некой сущности, выполняющей программу во время своей активности. Интерфейс Runnable объявляет всего один метод:

public void run();

Класс Thread реализует интерфейс Runnable, поскольку поток как раз и является такой сущностью — во время его активности выполняется программа. Мы уже видели, что для осуществления каких-то особых вычислений можно расширить класс Thread, однако во многих случаях это не слишком просто. Прежде всего, расширение классов производится на основе одиночного наследования — если некоторый класс расширяется для того, чтобы он мог выполняться в потоке, то одновременно расширить и его, и Thread не удастся. Кроме того, если вам нужна только возможность выполнения, то вряд ли вы захотите наследовать и все накладные расходы, связанные с Thread.

Читать »

Безопасность потоков и ThreadGroup

Добавлено Дата: 28 March, 2012 категория: Java

При программировании  работы нескольких потоков (часть которых создается библиотечными вызовами) бывает полезно отчасти ограничить их возможности, чтобы потоки не мешали друг другу.

Потоки делятся на группы потоков в целях безопасности. Группа потоков может входить в состав другой группы, что позволяет создавать определенную иерархию. Потоки внутри группы могут изменять другие потоки, входящие в ту же группу, а также во все группы, расположенные ниже в иерархии. Поток не может модифицировать потоки за пределами своей собственной и всех подчиненных групп.

Читать »

Класс InputStream

Добавлено Дата: 28 March, 2012 категория: Java

В абстрактном классе InputStream объявляются методы для чтения из заданного источника. InputStream является базовым классом для большинства входных потоков в java.io и содержит следующие методы:

public InputStream()

содержит только безаргументный конструктор. public abstract int read() throws IOException

Читать »

Возвращаемся к графике. Пинг-Понг

Добавлено Дата: 27 March, 2012 категория: Java

В  главах  5,  6  и  7  мы  использовали  некоторые  компоненты  изAWT  и  Swing  библиотек.  Теперь  я  покажу  вам,  как  можно  рисовать  и двигать  такие фигуры, как овалы, прямоугольники и линии внутри окна.  Также,   вы узнаете,   как обрабатывать   события   мыши   и клавиатуры.  Чтобы  добавить  немного  веселья  в  эти  скучные  темы,  в этой  главе  мы будем изучать их при создании игры  пинг-­?понг.  В игребудут  два участника, я называю их ребенок и компьютер.Стратегия

Читать »

Возвращаемся к массивам

Добавлено Дата: 26 March, 2012 категория: Java

В главе 9 программа ScoreWriter  создавала массив объектов String и сохраняла имена и очки игроков в файл.  Настало время узнать,  как использовать массивы для хранения любых объектов.В этот раз  для представления счета в игре мы  создадим объект.  Этот объект  будет  содержать  такие  атрибуты,  как  имя  и  фамилия  игрока, счет и последнюю дату игры.Ниже представлен класс Score.  Он содержит специальные методы  для чтения  (getter) и записи (setter) каждого из  своего атрибутов, который объявлен   с   модификатором   доступа   private.  Наверное,  может показаться  неочевидным,  почему  вызывающий  класс  просто  не устанавливает значение атрибута напрямую, например, так:Score.score = 250;

Читать »

Классы Observer/Observable

Добавлено Дата: 26 March, 2012 категория: Java

Типы Observer/Observable предоставляют протокол, в соответствии с которым произвольное количество объектов-наблюдателей Observer получают уведомления о

каких-либо изменениях или событиях, относящихся к произвольному количеству объектов Observable. Объект Observable производится от подкласса Observable, благодаря чему можно вести список объектов Observer, уведомляемых об изменениях в объекте Observable. Все объекты- “наблюдатели”, входящие в список, должны реализовывать интерфейс Observer. Когда с наблюдаемым объектом происходят изменения, заслужи

Читать »

Подробности, касающиеся wait и notify

Добавлено Дата: 24 March, 2012 категория: Java

Существует три формы wait и две формы notify. Все они входят в класс Object и выполняются для текущего потока:

public final void wait(long timeout) throws InterruptedException

Выполнение текущего потока приостанавливается до получения извещения или до истечения заданного интервала времени timeout. Значение timeout задается в миллисекундах. Если оно равно нулю, то ожидание не прерывается по тайм-ауту, а продолжается до получения извещения.

Читать »