在android模拟器里运行,没有声音

解决方案 »

  1.   

      mediaPlayer.setOnCompletionListener(this);是一首放完之后执行的,把它移到start后面试试
      

  2.   

    只需要start就OK了,其他的不要了
      

  3.   

    mediaPlayer =  MediaPlayer.create(this, R.raw.music);
    是在这里设置过了。确定你的电脑硬件没有问题吗?平时能听音乐就应该没有问题。
      

  4.   

    就是把mediaPlayer.setOnCompletionListener(this);放到start后面就可以了,刚楼上的说这句话是一首歌放完后调用,我就想着类似循环播放的效果,一会把代码贴出来,看看,实现不了循环播放。
      

  5.   

    播放完一首后设置下一首的datasource,再执行播放就行,这个自己控制一下就ok了,很简单的
    mMediaPlayer.setDataSource(dataSource);
    mMediaPlayer.prepare();
    if (Common.PLAY_MODE_SINGLE_LOOP == mPlayMode) {
    mMediaPlayer.setLooping(true); // 单曲循环
    } else {
    mMediaPlayer.setLooping(false); // 不循环播放
    }
    mMediaPlayer.start(); // 开始播放
      

  6.   

    呵呵,是这样的,有两首歌,这两首歌循环播放,弄好了,就改一下 onCompletion(MediaPlayer mp)就可以了,我把代码贴一下,写的有点锉,呵呵
      

  7.   

    onCompletion(MediaPlayer mp)的改动如下:@Override
    public void onCompletion(MediaPlayer mp) {
    // TODO Auto-generated method stub
    /*mp.release();
    setTitle("资源已释放");*/
    try {
    if(flag){
    mp =  MediaPlayer.create(this, R.raw.music);
    flag = false;
    setTitle("为了谁");
    } else {
    mp =  MediaPlayer.create(this, R.raw.jay);
    flag = true;
    setTitle("青花瓷");
    }
    if(mp != null){
    mp.stop();
    }
    mp.prepare();
    mp.start();
    }catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
     
      

  8.   

    刚才那个代码还得写一句,不然就顺序播放了,mp.setOnCompletionListener(this);