Есть ли способ сделать миди звуки в моем приложении для Android? - PullRequest
0 голосов
/ 14 июня 2011

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

Максимум 12 будет проигрываться одновременно ... Mp3 или их комбинация также будут подходящей заменой, но сейчас midi будет идеальным.

Это вообще возможно? Заранее спасибо гениям переполнения стека! :)

-EltMrx

Ответы [ 2 ]

3 голосов
/ 14 июня 2011

Один простой способ воспроизвести один звук - это использовать MediaPlayer.Поместите ваши звуковые файлы в папку / res / raw, затем вызовите метод ниже, используя R константы, например, playSound(R.raw.sound_file_name), где playSound выглядит примерно так:

private void playSound(int soundResId) {
        MediaPlayer mp = MediaPlayer.create(context, soundResId);
        if (mp == null) {
            Log.warn("playSound", "Error creating MediaPlayer object to play sound.");
            return;
        }

        mp.setOnErrorListener(new MediaPlayer.OnErrorListener() {
            public boolean onError(MediaPlayer mp, int what, int extra) {
                Log.e("playSound", "Found an error playing media. Error code: " + what);
                mp.release();
                return true;
            }
        });

        mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            public void onCompletion(MediaPlayer mp) {
                mp.release();
            }
        });

        mp.start();
    }

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

2 голосов
/ 16 июня 2011

Как отметил @uncheck, вы можете использовать стандартный класс Android MediaPlayer для MP3, хотя проигрывать несколько каналов одновременно довольно сложно.

В Android нет встроенного синтезатора, поэтому еслиЕсли вы хотите воспроизводить чистые MIDI-файлы на каком-либо инструменте, лучше всего использовать libpd для Android .После этого вы, вероятно, сможете найти PD patch с синтезатором, который бы соответствовал вашим потребностям для данного звука, который вам нужен.

...