媒体播放器: 错误 (-19, 0)

Media Player: error (-19, 0)

我有一个包含您位置的 GridView,我在 onCreate 上做案例,所以,

case position = 1 play audio1,

case position = 2 play audio2

Activity:

public class HomeEnglishAnimalsActivity extends ActionBarActivity {

MediaPlayer player;

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

    android.support.v7.app.ActionBar actionBar = getSupportActionBar();
    actionBar.setHomeButtonEnabled(true);
    actionBar.setDisplayHomeAsUpEnabled(true);

    GridView gridView = (GridView) findViewById(R.id.gridviewHomeEnglishAnimals);
    gridView.setAdapter(new AdapterHomeEnglishAnimalsActivity(this));

    gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v,
                                int position, long id) {
            switch (position) {
                case 0:
                    if (player != null)
                    {
                        player.stop();
                        player.release();
                    }
                    player.create(HomeEnglishAnimalsActivity.this, R.raw.bee).setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                        @Override
                        public void onPrepared(MediaPlayer mediaPlayer) {
                            mediaPlayer.start();
                        }
                    });
                    break;

好的,代码有效,但是当我点击几次时,声音停止显示这个错误:

06-16 23:52:42.976  23918-23918/br.gabrielrossetto.tap4learn E/ExtMediaPlayer-JNI? QCMediaPlayer could not be located....
06-16 23:52:42.976  23918-23918/br.gabrielrossetto.tap4learn E/MediaPlayer-JNI? QCMediaPlayer mediaplayer NOT present
06-16 23:52:42.986  23918-23918/br.gabrielrossetto.tap4learn E/MediaPlayer? Should have subtitle controller already set
06-16 23:52:42.996  23918-23918/br.gabrielrossetto.tap4learn E/MediaPlayer? error (-19, 0)
06-16 23:52:42.996  23918-23918/br.gabrielrossetto.tap4learn E/MediaPlayer? Error (-19,0)

感谢您的帮助。

您需要释放用于播放声音的MediaPlayer。查看此线程:Mediaplayer error (-19,0) after repeated plays

试试这个

当您创建 MediaPlayer 对象并启动播放器时,您需要在音乐完成时释放它。

    MediaPlayer mp;
    mp = MediaPlayer.create(getApplicationContext(), R.raw.sound);
    mp.start();

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

        };
    });

}