2013-10-31 40 views
1

我想在对话框中播放声音。在对话框中有一个gif动画,现在我想在其中放入一个声音。我正在尝试这个代码,但它没有那么有用。我只能玩GIF动画。请帮忙。在对话框中播放声音

ImageButton bicycle = (ImageButton)findViewById(R.id.imageButton1); 
    bicycle.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      AlertDialog.Builder builder = new AlertDialog.Builder(Vehicles.this); 
      WebView view = new WebView(Vehicles.this); 
      view.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
      builder.setView(view); 
      //builder.create().show(); 

      final Dialog d = builder.create(); // save a Dialog reference here 
      d.show(); 

      view.loadUrl("file:///android_asset/bicycle.gif"); 

        soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 1); 
     mMediaPlayer = new MediaPlayer(); 
      mMediaPlayer = MediaPlayer.create(Vehicles.this, R.raw.bicycle); 
      mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
      mMediaPlayer.start(); 

     soundIsPlaying = true; 

     new Handler().postDelayed(new Runnable() { 
       public void run() { 
        soundIsPlaying = false; 
       } 
      }, PLAYING_TIME_OF_SOUND); 

      gifIsPlaying = true; 

      new Handler().postDelayed(new Runnable() { 
       public void run() { 
        gifIsPlaying = false; 
        //finish(); 

        if (d.isShowing()) { // dismiss dialog if still showing 
         d.dismiss(); 
        } 
       } 
      }, PLAYING_TIME_OF_GIF); 

     } 
    }); 
+0

任何错误...? –

+0

错误在这一行“mMediaPlayer = MediaPlayer.create(this,R.raw.bicycle);” – Meghs

+0

哦,然后发布logcat太:) –

回答

0

你应该释放MediaPlayermediaPlayer.release()的资源setOnCompletionListener

1

尝试这种方式

mMediaPlayer = MediaPlayer.create(Vehicles.this, R.raw.bicycle); 
+0

我试过这个,但是m仍然无法播放声音 – Meghs