Обрезка аудио с помощью XNA - PullRequest
2 голосов
/ 04 июля 2010

Я новичок в XNA и пытаюсь позволить пользователю редактировать аудиофайл, который он загрузил. В XNA можно ли выбрать временной интервал (например, 0:00 - 0:10) и ' обрезать эту часть как отдельную сущность? Я думаю, по сути, это просто копирование этих данных в новый файл. Можно ли это сделать с помощью библиотеки XNA Audio и, если да, на какие методы мне следует обратить внимание? Спасибо

Ответы [ 3 ]

0 голосов
/ 08 июля 2010

Насколько я знаю, XNA не содержит каких-либо средств для простой записи музыкального объекта или объекта cue в файл.

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

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

0 голосов
/ 13 июля 2010

Если вы можете подождать XNA 4, доступ к звуковым буферам низкоуровневый, и вы можете обрезать его по своему усмотрению.Поиск в Google "C # wav file" показывает множество ссылок, которые покажут вам, как манипулировать данными в памяти.

Скачать бета-версию XNA 4.0 здесь:

http://creators.xna.com/en-US/launchcenter

Вот ссылка, которая объясняет, как использовать новый API:

https://blogs.msdn.com/b/ashtat/archive/2010/06/03/soundeffect-creation-in-xna-game-studio-4.aspx

0 голосов
/ 07 июля 2010

Я не вижу способа сделать то, что вы говорите, но в процессе поиска я наткнулся на этот полезный Обзор аудио и это руководство по использованию кросс-платформенного программного обеспечения Microsoft. Инструмент создания аудио (XACT) . Поскольку вы новичок в XNA, я надеюсь, что эти ссылки помогут вам.

Проблема, похоже, заключается в том, что ожидается, что аудио создается заранее, а не в игре, как вам требуется. Конечно, нет недостатка во внешних аудиоредакторах , таких как Audacity , Aviary , waveosaur и Adobe SoundBooth чтобы помочь с редактированием вне игры. Кроме того, вы можете использовать функции воспроизведения библиотек XNA / XACT для «имитации» обрезки, сохраняя выбранные временные рамки пользователя в качестве переменных и позже воспроизводя только соответствующие фрагменты аудио.

Я надеюсь, что кое-что из этого поможет в некотором качестве.

-gMale

...