2014-05-09 2 views
-2

안드로이드 프로그래밍 멍청한 놈이 있습니다. my imageButton을 클릭 할 때마다 오디오가 재생되는 것을 멈추고 새로운 임의의 오디오를 재생하려고합니다. 내 문제를 정확하게 지적하면 도움이 될 것입니다. 오디오가 더듬 다음 다른 오디오에 혼합하기 시작새로운 무작위 오디오 파일이 생성되면 onClick을 재생하면 재설정되지 않습니다 - Android

package com.shamu11.musesoundboard; 

import java.util.Random; 

//import com.shamu11.firstapp.MainActivity; 
//import com.shamu11.firstapp.R; 

import android.app.Activity; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.ImageButton; 

public class MainActivity extends Activity { 

ImageButton buttonOne; 
private final int NUM_SOUND_FILES = 3; 
private int mSndFilesMatt[] = new int[NUM_SOUND_FILES]; 
private Random rnd = new Random(); 
MediaPlayer matt; 

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

    mSndFilesMatt[0] = R.raw.fury; 
    mSndFilesMatt[1] = R.raw.knights_of_cydonia; 
    mSndFilesMatt[2] = R.raw.supremacy; 

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

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      int sndToPlay = rnd.nextInt(NUM_SOUND_FILES); 
      matt = MediaPlayer.create(MainActivity.this,  mSndFilesMatt[sndToPlay]); 
      matt.seekTo(0); 
      matt.start(); 

     } 
    }); 
} 
} 

답변

0

이 조금 작동이

public void onClick(View v) { 
      // TODO Auto-generated method stub 
      int sndToPlay = rnd.nextInt(NUM_SOUND_FILES); 
      matt.reset(); 
      matt = MediaPlayer.create(MainActivity.this,mSndFilesMatt[sndToPlay]); 
      matt.seekTo(0); 
      matt.start(); 
     } 
+0

을 시도하지만, 몇 번의 클릭 후 (3 초 클릭 할 때마다 사이 왼쪽). – sanic

+0

전에는 MediaPlayer를 사용 해본 적이 없지만 편집 후 새 코드를 사용해보십시오. –

+0

더 잘 작동 할 수 있습니다. – sanic

관련 문제