安卓工作室|媒体播放器|我的函数可以运行一次,然后应用程序将崩溃 |媒体播放器: 错误 (1,-19)


//this is inside onCreate function
//layoutRost is declared as private, inside onCreate is initialized, also speak_rost...
layoutRost.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                speak_rost.start();
                speak_rost.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                    @Override
                    public void onCompletion(MediaPlayer mp) {
                        speak_rost.release();
                    }
                });
            }
        });

第一次我按下它,按钮和音频工作正常,第二次我收到错误:再次打开应用程序

自从我上次接触 Android 以来已经有一段时间了,我创建了自己的播放声音的方法,考虑到我发布了一个应用程序,它工作得很好,所以也许它会有所帮助

//method that plays a sound effects
public void playMedia(int resid){
    mediaPlayer = MediaPlayer.create(this,resid);
    mediaPlayer.start();
    mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        public void onCompletion(MediaPlayer mp) {
            mp.release();
        }
    });
}

每次有东西要玩时,我都会将资源的 id 传递给此方法

//just initialize inside ClickListener, speak_rost, and after .setOnCompletionListener, I put speak_rost().start; that was ALL, very nice problem, now all my 50+ buttons/layouts are "in the right form" to play 100+ time, every time I needed. Thank you.
layoutRost.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                speak_rost = MediaPlayer.create(hundred.this, R.raw.asa);
                speak_rost .setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                    public void onCompletion(MediaPlayer mysound) {
                        mysound.release();
                    }
                });
                speak_rost .start();
            }
        });

相关内容

最新更新