Программные инструменты - PullRequest
2 голосов
/ 28 января 2012

Мне очень понравились музыкальные приложения на iPhone, такие как Ocarnia от Smule, и я всегда хотел создать музыкальное приложение для Android. Есть ли какой-нибудь API / Framework, который вы можете использовать для создания программных инструментов / создания "стилизованных" звуков? Спасибо!

* EDIT * Я нашел API программирования Java Music под названием «JFugue», но он не может быть встроен в Android из-за отсутствия поддержки Java MIDI ... Есть ли что-то вроде «JFugue»?

Ответы [ 3 ]

1 голос
/ 28 января 2012

Существует несколько подходов, которые вы можете использовать

. Вы можете включать сэмплы инструментов в качестве ресурсов приложения и воспроизводить их с помощью MediaPlayer / SoundPool .Для получения дополнительной информации см. Раздел media player

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

Android имеет ограниченную поддержку midi через класс JetPlayer .Но он не поддерживает динамическую генерацию миди-событий, он может воспроизводить только существующий миди-файл.

1 голос
/ 28 января 2012

На Android есть API, которые можно использовать для создания программных инструментов, а другие ответы касались некоторых из них.

Но есть гораздо более серьезная проблема, которая заключается в невероятно высокой задержкезадержка от момента, когда вы даете программную команду, до момента, когда звук выходит из динамика).На большинстве устройств Android это что-то вроде 400 мс, что недопустимо даже для «игрушечного» музыкального инструмента (это почти четверть ноты при умеренном темпе!)Вы увидите тысячи комментариев от разозленных разработчиков, но никаких реальных решений.Google, конечно, знает о проблеме, но никто не знает, когда они решат ее.Пока они этого не делают, Android практически бесполезен для создания музыкальных программ.

1 голос
/ 28 января 2012

Я ничего не знаю об этих приложениях.

, но есть несколько различных способов достижения музыкальных приложений на Android.

MediaPlayback <--- willдаст вам представление о том, как использовать объект MediaPlayer для загрузки и воспроизведения ваших собственных звуковых файлов. </p>

MediaPlayer <--- более детально рассмотрим, как работает объект MediaPlayer. </p>

SoundPool <--- альтернатива MediaPlayer.SoundPool был разработан для хранения нескольких звуков и способен воспроизводить их в нескольких потоках.MediaPlayer, с другой стороны, может загружать только один носитель за раз. </p>

и ToneGenerator, но мне нужно идти.Извините, вам придется искать это самостоятельно.

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