有没有办法在我的Android应用中发出中音?

| 我正在尝试制作一个可以同时播放不同Midi文件的应用。这些文件不会流式传输,我想将它们包括在apk中。 最多可以同时播放12张... Mp3或两者的组合也可以作为合适的替代品,但现在midi是理想的选择。 这是可能吗?在此先感谢堆栈溢出天才! :) -EltMrx     
已邀请:
        播放单个声音的一种简单方法是使用
MediaPlayer
。将您的声音文件放在/ res / raw文件夹中,然后使用ѭ1call常量调用以下方法,例如
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();
    }
现在,同时播放多个声音会有点复杂,但是这里有一个很好的解决方案。     
        正如@uncheck指出的那样,您可以将标准的Android
MediaPlayer
类用于MP3,尽管一次播放多个通道有些棘手。 Android没有内置的合成器,因此,如果您想通过某种类型的乐器播放纯MIDI文件,则最好的选择是将libpd用于Android。之后,您可能会发现带有合成器的PD补丁,可以满足您对所追求的给定声音的需求。     

要回复问题请先登录注册