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

android soundpool

0 추천
opencv를 이용하여 soundpool로 피아노 소리를 내는 프로젝트 중인 학생입니다.

        SoundPool sound = new SoundPool(1, AudioManager.STREAM_ALARM, 0);// maxStreams, streamType, srcQuality
        //this.sleep(2000);

        int soundId_1 = sound.load(this, R.raw.to, 1);
        int soundId_2 = sound.load(this, R.raw.re, 1);
        int soundId_3 = sound.load(this, R.raw.me, 1);
        int soundId_4 = sound.load(this, R.raw.pa, 1);
        int soundId_5 = sound.load(this, R.raw.sol, 1);
        int soundId_6 = sound.load(this, R.raw.ra, 1);
        int soundId_7 = sound.load(this, R.raw.si, 1);
        int soundId_8 = sound.load(this, R.raw.high_do, 1);

 

 @Override
    public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {

        int result = 11;
        //img_result = new Mat();
        if (inputFrame.rgba() != null) {
            img_input = inputFrame.rgba();

            if (img_result != null) img_result.release();
                img_result = new Mat(inputFrame.rgba().rows(), inputFrame.rgba().cols(), CvType.CV_8UC1);
                result = convertNativeLib(img_input.getNativeObjAddr(), img_result.getNativeObjAddr());
                img_input.release();
                switch (result) {

                    case 1:
                        sound.play(soundId_1, 1.0F, 1.0F, 0, 0, 1.0F);
                        sound.stop(soundId_1);
                        break;
                    case 2:
                        sound.play(soundId_2, 1.0F, 1.0F, 0, 0, 1.0F);
                        sound.stop(soundId_2);
                        break;
                    case 3:
                        sound.play(soundId_3, 1.0F, 1.0F, 0, 0, 1.0F);
                        sound.stop(soundId_3);
                        break;
                    case 4:
                        sound.play(soundId_4, 1.0F, 1.0F, 0, 0, 1.0F);
                        sound.stop(soundId_4);
                        break;
                    case 5:
                        sound.play(soundId_5, 1.0F, 1.0F, 0, 0, 1.0F);
                        sound.stop(soundId_5);
                        break;
                    case 6:
                        sound.play(soundId_6, 1.0F, 1.0F, 0, 0, 1.0F);
                        sound.stop(soundId_6);
                        break;
                    case 7:
                        sound.play(soundId_7, 1.0F, 1.0F, 0, 0, 1.0F);
                        sound.stop(soundId_7);
                        break;
                    case 8:
                        sound.play(soundId_8, 1.0F, 1.0F, 0, 0, 1.0F);
                        sound.stop(soundId_8);
                        break;

                    // case 9:
                    //     sound.play(soundId_1, 1.0F, 1.0F, 1, -1, 1.0F);
                    //      sound.stop(soundId_2);
                    //   case 10:
                    //       sound.play(soundId_1, 1.0F, 1.0F, 1, -1, 1.0F);
                    //      sound.stop(soundId_2);
                    //
                    //
                    // +
                    //case 11:

                     //break;
                    default:

                        break;

                }
            //this.sleep(2000);
            //.sound.release();
            }
        //sound.release();

        //this.sleep(200);
        //sound.release();
       
       img_input.release();
        return img_result;
    }
   
}
조언을 받아 sound load하는 부분은 oncameraFrame 전에 onCreate부분에서 해줬습니다
이소스 이구요 소리를 치다가

02-21 00:37:27.628 2093-2269/com.tistory.webnautes.dreaming_instrument A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xfffffff8 in tid 2269 (Thread-3625)

 

이러한 에러를 띄우며 어플이 종료 됩니다

무엇때문일까요 ㅠㅠㅠ
익명사용자 님이 2017년 2월 21일 질문
http://www.masterqna.com/android/1 읽어 보세요. 그리고 저 로그 말고 다른 로그도 같이 떴을 겁니다. 그것도 올리시고요.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...