사용자가 화면을 터치 할 때 사운드 효과를 재생하는 데 이상한 문제가 있습니다. 나는 이걸 어디에 가야할지 잘 모르겠다. 나는 sing이라는 클래스와 sound()라는 메서드를 사용하여 사운드 효과를 재생합니다. onCreate() 메서드에서 코드는 제대로 작동하지만 onTouch() 메서드에서는 작동하지 않습니다. 여기에 내가 사용하고 코드입니다 :Android soundpool onTouch가 작동하지 않음
TextView textview;
Sing sing;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
textview = new TextView(this);
textview.setText("Test");
setContentView(textview);
sing = new Sing();
sing.create();
sing.sound("sound.ogg");//just to test, works fine
}
public boolean onTouch(View v, MotionEvent event){
if (event.getAction() == MotionEvent.ACTION_UP){
sing.sound("sound.ogg"); //doesnt work
}
return true;
}
첫 번째 호출은 sing.sound하는()에서 onCreate에서()는 잘 작동하지만 onTouch의 후속 호출은() 아무것도하지 않는 것. 이 테스트 클래스는 활동을 확장하고 onTouch를 구현하고, onTouch를 가져 왔으며, 그 오류가 무엇인지 알지 못한다. 나는 노래 클래스를 게시 할 것이지만 그것은 많은 종류의 코드이다. 누군가의 도움을 주시면 매우 감사하겠습니다. 나는 오늘 당황스럽게 오랜 시간 동안 이걸로 고투하고 있었고, 나는 아직 안드로이드에별로 좋지 않다. 미리 감사드립니다.
package com.test.ch4;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.view.View;
import android.view.MotionEvent;
import android.view.View.OnTouchListener;
public class SoundPoolTest extends Activity implements OnTouchListener{
TextView textview;
Sing sing;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
textview = new TextView(this);
textview.setTextSize(40);
textview.setText("Test");
setContentView(textview);
}
public boolean onTouch(View v, MotionEvent event){
if (event.getAction() == MotionEvent.ACTION_UP){
sing = new Sing();
sing.create();
sing.sound("sound.ogg");
}
return true;
}
}
onTouch()가 실행 중이십니까? Log.d 입력 ("ontouch", "fired"); onTouch 메서드를 사용하여 logcat에 올라 왔는지 확인하십시오 – JRowan
전체 활동을 올릴 수 있습니까? onTouch()를 잘못 구현 한 것 같습니까? – JRowan
나머지 작업을 설명합니다. 시간을내어 주셔서 감사합니다. – user2333867