2018 Як програмувати простий музичний секвенсор для android (java) android

Androids .help Русский Android-спільнота.

Те, що я хочу зробити:

Я хотів би запрограмувати дуже просту музичний секвенсор для Android. Але я ніколи не працював зі звуком на Android або Java, відповідно.







Чтопріложеніе має робити:

play back samples (WAVE / OGG files) play several audio channels simultaneously (eg the trumpet and the flute should play simultaneously, maximum of 10 instruments) change the pitch of the samples (eg the trumpet WAVE file must be played in normal pitch (c4 ) and lower / higher pitch (e2 / g6) and so on)

Це те, чтопріложеніе має бути в змозі зробити в цілому.

Які компоненти мені потрібно? Нормальний медіа-плеєр (AudioManager.) Працювати не буде, вірно?

Є вже деякі додатки, які роблять те, що я маю на увазі:

FingerBeat for iOS FL Studio Mobile for iOS Uloops Studio for Android

Спасибо заранее за вашу допомогу!







Top 5 Respuesta

Ви не маєте одне просте вимога, але три дуже різні вимоги.

Граючи WAV повинні бути підтримані з коробки на JRE за допомогою класів в javax.sound.sampled, це те саме вимагає код, щоб підключити його (не дуже впевнений в Android).

Якщо ви дійсно хочете, ви можете приготувати свій власний секвенсор, всі основні речі, якщо там в javax.sound.sampled. Вона просто вимагає деяких базових знань про цифровий звук і безліч проводів коду.

Там не існує єдиного рішення для всіх ваших потреб, ви повинні будете прошивати у вас є разом з блоками у вільному доступі.

Я не буду в змозі надати повну відповідь, але я вкажу вам в правильному напрямку.

Там такжекласс MediaPlayer, але це для більш простого використання. Я не думаю, що вона дозволяє контролювати крок.

Ви будете мати проблеми з часом в системі Android. Щоб уникнути ваш секвенсор нитка переривається збору сміття ви, ймовірно, потрібно написати секвенсор в рідній використанням NDK.

Відтворення звуків, ймовірно, краще зробити, використовуючи NDK, а також.

Зрозумів, що це питання дуже старий, але відповім так чи інакше, так як відповіді не згадує NDK.

останні питання