替代Android媒体播放器

时间:2015-06-25 15:17:37

标签: java android

这是我的一个非常基本的Android声音播放器的代码,按下按钮我希望播放声音,或者要捕获IOException - 看起来很简单。相反,我得到“QCMediaPlayer媒体播放器不存在”,所以如果没有可用的播放器我怎么想播放我的音轨 - &我该怎么办? 我知道它已经被提出,但没有给出微不足道的解决方案。

public class MainActivity extends Activity {

    private MediaPlayer player;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button motivate = (Button) this.findViewById(R.id.motivate);
        motivate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {   // On click randomly select a sound then play it
                try {
                    play();
                }
                catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });
    }

    public void stop() {
        if (player != null) {
            player.release();
            player = null;
        }
    }

    public void play() throws IOException {
        stop();

        int[] sound = {R.raw.a, R.raw.b, R.raw.c, R.raw.d, R.raw.e, R.raw.f, R.raw.g, R.raw.h, R.raw.i, R.raw.j, R.raw.k, R.raw.l, R.raw.m, R.raw.n, R.raw.o};

        player = MediaPlayer.create(MainActivity.this, sound[0]);
        player.setAudioStreamType(AudioManager.STREAM_MUSIC);
        player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer player) {
                stop();
            }
        });
    }
}

2 个答案:

答案 0 :(得分:0)

你可以尝试这个:https://bitbucket.org/edwardcw/libvlc-android-sample 我们用它来播放流

答案 1 :(得分:0)

好的,所以答案实际上相当简单。 MediaPlayer是一个导入,只有8/10可以工作,具体取决于你的Android和内核的味道。一个常数是SoundPool;这将根据需要加载和播放声音。