두 가지 문제가있어서 두 가지 문제에 대한 도움을받을 수 있습니다. 첫 번째는 응용 프로그램이 시작될 때 오디오 파일을 재생하려고 시도하고 흔들림이 발생하면 즉시 중지하는 것입니다. (그것은 어느 한 화면에서 전혀 재생되지 않습니다). 내가 겪고있는 또 다른 문제는 오디오가 재생되어야하는 전화를 흔들 때입니다. 그것은 바로 그 일이지만, 문제는 오디오를 재생할 때 소리가 나게하는 것입니다. 그 소리는 오디오 파일에 없으므로 그 소리가 어디에서 오는지 정확히 알 수는 없습니다. 어떤 도움을 주시면 감사하겠습니다. 미리 감사드립니다.오디오 재생이 끝날 때 클릭 소음이 발생합니다.
public class Ask extends Activity{
private SensorManager mSensorManager;
private ShakeEventListener mSensorListener;
String[] answer;
int possibleAnswers, randomAnswer, talkRun=0;
long lastClick;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ask);
final Random generator = new Random();
//Sounds
final SoundPool sounds = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);
final int sound0 = sounds.load(this, R.raw.coughing, 1);
final int sound25 = sounds.load(this, R.raw.askbud, 1);
sounds.play(sound25, 1f, 1f, 1, 0, 1f);
mSensorListener = new ShakeEventListener();
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mSensorManager.registerListener(mSensorListener,
mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_UI);
final TextView tv = (TextView)findViewById(R.id.answer);
mSensorListener.setOnShakeListener(new ShakeEventListener.OnShakeListener() {
public void onShake() {
if (System.currentTimeMillis() - lastClick > 500) {
lastClick = System.currentTimeMillis();
sounds.stop(sound25);
sounds.stop(sound0);
randomAnswer = generator.nextInt(possibleAnswers);
if(randomAnswer==0){
sounds.play(sound0, 1f, 1f, 1, 0, 1f);
}
}
}
});
}
@Override
protected void onResume() {
super.onResume();
mSensorManager.registerListener(mSensorListener,
mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_UI);
}
@Override
protected void onStop() {
mSensorManager.unregisterListener(mSensorListener);
super.onStop();
}
}
와우! 그것은 소화 할 코드의 완전한 도움이됩니다. 25 개의 별개의 사운드가 들리지 않는 코드를 사이트에 덤핑하기 전에 하나의 사운드로 작동하도록하는 일은 결코 발생하지 않았습니까? 또한 여기에 'java'태그를 추가하는 것을 승인하지 않습니다. Java에서는 JavaSound를 사용하여 사운드를 재생합니다. Android는 완전히 다른 이야기입니다. –
사운드 (onCreate 사운드 제외)가 모두 재생됩니다. 내가 가지고있는 다른 문제는 사운드의 끝 부분에있는 팝 노이즈입니다. 그리고 다른 사람들이이 문제를 어느 정도 겪었는지 궁금합니다. – steven