Каков современный способ воспроизведения звуковых данных в формате ресурса 'snd'? - PullRequest
3 голосов
/ 04 марта 2010

Функции Sound Manager, такие как SndPlay(), устарели и недоступны в 64-разрядной версии. Функции AudioServices современны, но, похоже, имеют дело только с файлами и не документированы для обработки этого формата.

Ответы [ 3 ]

1 голос
/ 05 марта 2010

Я не уверен, что есть современный API для их воспроизведения, возможно, потому что формат довольно древний и сложный, начиная с System 7 и с тех пор расширяемый несколько раз.

Что я нашел написанное о ресурсе 'snd':

Системные звуковые файлы просто типа 1 'snd' ресурсы хранятся с типом 'sfil' и создатель 'movr'. Mac OS предоставляет знакомый значок для их и разрешает воспроизведение в Найдите, дважды щелкнув по ним. 'snd' - это тип ресурса, который состоит из серии команд для использовать диспетчер звука. К тому же оцифрованных звуковых сэмплов, 'snd' ресурсы могут содержать прямые частотно-модулированный и волновой звуки на основе таблицы. Любое количество три типа могут быть объединены с различные эффекты, чтобы произвести комплекс звуковые файлы. Простой звуковой сигнал является примером не оцифрованного 'snd'. Есть два типа ресурсов 'snd', удивительно называется тип 1 и тип 2. Тип 1 - формат, описанный выше и называется системным звуком формат. Тип 2 предназначен для использования с HyperCard и может содержать только дискретизированный (оцифрованный) звук. SoundApp может играть оба типа, но будет только конвертировать сэмплированные звуки. Для большего информацию о файлах 'snd' Внутри Macintosh VI или внутри Макинтош: Звук. Знакомство с менеджер ресурсов также будет полезно. 8-битные сэмплы хранятся как неподписанные байты, такие как SoundCap / Edit, но 16-битные сэмплы подписаны, как AIFF. Стерео 'snd' ресурсы также возможно, но Sound Manager 3.0 или позже требуется 16-битная игра образцы напрямую. Возможные типы сжатия для ресурсов 'snd' одинаковые типы MACE, IMA и µ-law используется в файлах AIFF-C.

Источник: http://www -cs-students.stanford.edu / ~ franke / SoundApp / format.html # system7

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

0 голосов
/ 03 октября 2014

Quattro Pro предоставил макрокоманду {Play name.snd}, где name - это один из трех цифровых файлов, поставляемых с программой. Это была электронная таблица с объемом оперативной памяти более 640 КБ. Файлы SND имеют размер около 5 КБ и длятся примерно секунду. Borland (который сделал Quattro Pro) не обеспечивал резервное копирование звука, но поскольку это было примерно в 1992 году, я думаю, что файлы было бы довольно легко получить. У меня все еще есть рабочая копия этой электронной таблицы, но нет средств (пока) для обновления существующих звуковых файлов для тестирования.

0 голосов
/ 05 марта 2010

Core Audio - это то, что вам нужно. Тем не менее, я считаю, что вы ошибаетесь в документации Core Audio. Таблица, на которую вы ссылаетесь, содержит запись для «NeXT / Sun Audio (.snd, .au)».

Вы упомянули, что Core Audio «кажется, имеет дело только с файлами», но это не так. Вы можете настроить график с источником типа kAudioUnitType_Generator и подтипа kAudioUnitSubType_ScheduledSoundPlayer.

Я написал программу Морзе , которая смешивает несколько аудиоисточников, которые генерируются в памяти. Это может быть полезным примером. MTPlayer.m было бы разумным местом, чтобы начать смотреть на код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...