마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

soundPool load함수 관련 질문입니다.

0 추천

API를 보면

load(String path, int priority); 와

load(Context context, 음성, 우선순위);

이렇게 되어있는데 

제가 지금 작성하고 있는 클래스는 Activity를 상속하지 않고 있어서 Context를 구하지못해서 빨간줄이 뜨더라구요.

그래서 Path값을 주어 음성을 출력하게 하는 방법을 사용하고 싶은데 "res/raw/sound"  이렇게 하면 위치를 못찾던데.. 어떻게 하는건가요? ㅜㅜ 

public class Activity_Img0_Adaptor extends PagerAdapter {
@Override
public Object instantiateItem(final ViewGroup container , final int position) {
 img.setOnClickListener(new View.OnClickListener() {
            Context context;
            @Override
            public void onClick(View view) {
                SoundPool sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
                int soundId = sp.load("res/raw/chick.MP3",1);
                sp.play( soundId, 1f, 1f, 0, 0, 1f );
             

            }
        });
익명사용자 님이 2016년 11월 15일 질문

1개의 답변

0 추천

"res/raw" 경로를 구하려면 context가 있어야 합니다.

http://hyeonstorage.tistory.com/159

Activity_Img0_Adaptor 생성자에서 Context를 입력받아 멤버 변수로 가지고 있다가 set 하시던지,

Activity나 Application의 Context를 가져오는 클래스를 만들어서 사용하셔야 할 듯 합니다.

익명사용자 님이 2016년 11월 16일 답변
...