2013-01-13 6 views
3

각 파일을 재생 한 후 버튼을 클릭 한 후 오디오 파일 목록을 재생하는 응용 프로그램을 개발 중입니다. 새 VisualizerView를 다시 작성합니다. https://github.com/felixpalmer/android-visualizer 문제점 :이 불쾌한 오류가 발생하는 경우가 있습니다. 11 나는 종종 두 번째 항목 이후의 패턴을 알아낼 수 없다. 문제없이 40 개의 항목을 잘 재생한다.치명적인 신호 11 android Visualizer

mMediaPlayer = new MediaPlayer(); 
mMediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), 
        afd.getLength()); 
afd.close(); 
showVisualizer(mMediaPlayer); 
mMediaPlayer.prepare(); 
mMediaPlayer.start(); 

public void showVisualizer(MediaPlayer mp) { 
    if (!mShowVisualizer) { 
     return; 
    } 
    //add new 
    mVisualizerView = new VisualizerView(this); 
    mVisualizerView.link(mp); 
    mFrameVisualizer.addView(mVisualizerView); 
    mFrameVisualizer.setVisibility(View.VISIBLE); 

    if (visualizerType.equals(getString(R.string.visualizer_line))) { 
     addLineRenderer(mVisualizerView); 
    } else if (visualizerType.equals(getString(R.string.visualizer_bar))) { 
     addBarGraphRenderers(mVisualizerView); 
    } else { 
     Log.e(TAG, "Unrecognized renderer"); 
    } 
} 

    public void hideVisualizer() { 
    if (mFrameVisualizer.getVisibility() != View.GONE) { 
     mFrameVisualizer.setVisibility(View.GONE); 
     Log.d(TAG, mVisualizerView + " mVis vuew"); 
     if (mVisualizerView != null) { 
      mFrameVisualizer.removeView(mVisualizerView); 
      mVisualizerView.release(); 
      Log.d(TAG, mVisualizerView + " mVisualizerView released"); 
      mVisualizerView = null; 
     } 
    } 
} 

업데이트 : 스택 트레이스 :

01-13 21:21:56.416 30943 847 F libc : Fatal signal 11 (SIGSEGV) at 0x44a00000 (code=2), thread 847 (Visualizer) 
    01-13 21:21:56.471 2577 2577 I DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
    01-13 21:21:56.471 2577 2577 I DEBUG : Build fingerprint: 'samsung/m0xx/m0:4.1.2/JZO54K/I9300XXELLA:user/release-keys' 
    01-13 21:21:56.471 2577 2577 I DEBUG : pid: 30943, tid: 847, name: Visualizer >>> com.iq.android <<< 
    01-13 21:21:56.471 2577 2577 I DEBUG : signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 44a00000 
    01-13 21:21:56.951 2577 2577 I DEBUG :  r0 5ae37ed0 r1 00010000 r2 00000000 r3 00000000 
    01-13 21:21:56.951 2577 2577 I DEBUG :  r4 44a00000 r5 60ecde48 r6 40bb4f54 r7 60ecde50 
    01-13 21:21:56.956 2577 2577 I DEBUG :  r8 5ae37ed0 r9 60ecde20 sl 40125a6c fp 00000001 
    01-13 21:21:56.956 2577 2577 I DEBUG :  ip 40bb6bb0 sp 60ecde00 lr 40b8ac2d pc 44a00000 cpsr 40000010 
    01-13 21:21:56.956 2577 2577 I DEBUG :  d0 000000c843480000 d1 0000000043480000 
    01-13 21:21:56.956 2577 2577 I DEBUG :  d2 0000000000000000 d3 44a0000000000000 
    01-13 21:21:56.956 2577 2577 I DEBUG :  d4 0000009200000000 d5 44a0000044340000 
    01-13 21:21:56.956 2577 2577 I DEBUG :  d6 449fe0004433c000 d7 0000000000000000 
    01-13 21:21:56.956 2577 2577 I DEBUG :  d8 0000000043020000 d9 0000000000000000 
    01-13 21:21:56.956 2577 2577 I DEBUG :  d10 0000000000000000 d11 0000000000000000 
    01-13 21:21:56.956 2577 2577 I DEBUG :  d12 0000000000000000 d13 0000000000000000 
    01-13 21:21:56.956 2577 2577 I DEBUG :  d14 0000000000000000 d15 0000000000000000 
    01-13 21:21:56.956 2577 2577 I DEBUG :  d16 7fffffffffffffff d17 7fffffffffffffff 
    01-13 21:21:56.956 2577 2577 I DEBUG :  d18 0000000000000000 d19 20000008409dbe40 
    01-13 21:21:56.956 2577 2577 I DEBUG :  d20 3ffe000000000000 d21 3fee000000000000 
    01-13 21:21:56.956 2577 2577 I DEBUG :  d22 0000000000000000 d23 3fee000000000000 
    01-13 21:21:56.956 2577 2577 I DEBUG :  d24 3ff0000000000000 d25 0000000000000000 
    01-13 21:21:56.956 2577 2577 I DEBUG :  d26 0000000000000000 d27 0000000000000000 
    01-13 21:21:56.961 2577 2577 I DEBUG :  d28 0000000000000000 d29 0000000000000000 
    01-13 21:21:56.961 2577 2577 I DEBUG :  d30 0000000000000000 d31 0000000000000000 
    01-13 21:21:56.961 2577 2577 I DEBUG :  scr 20000013 
    01-13 21:21:56.966 2577 2577 I DEBUG : 
    01-13 21:21:56.966 2577 2577 I DEBUG : backtrace: 
    01-13 21:21:56.966 2577 2577 I DEBUG :  #00 pc 01b26000 /dev/ashmem/dalvik-heap   (deleted) 
    01-13 21:21:56.966 2577 2577 I DEBUG :  #01 pc 0005ec2b /system/lib/libmedia.so (android::Visualizer::getWaveForm(unsigned char*)+36) 
    01-13 21:21:56.966 2577 2577 I DEBUG :  #02 pc 0005edf9 /system/lib/libmedia.so (android::Visualizer::periodicCapture()+80) 
    01-13 21:21:56.966 2577 2577 I DEBUG :  #03 pc 0005ee87 /system/lib/libmedia.so (android::Visualizer::CaptureThread::threadLoop()+14) 
    01-13 21:21:56.966 2577 2577 I DEBUG :  #04 pc 0001104f /system/lib/libutils.so (android::Thread::_threadLoop(void*)+114) 
    01-13 21:21:56.966 2577 2577 I DEBUG :  #05 pc 0004bc2b /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+66) 
    01-13 21:21:56.966 2577 2577 I DEBUG :  #06 pc 00010bb5 /system/lib/libutils.so 
    01-13 21:21:56.971 2577 2577 I DEBUG :  #07 pc 00012e00 /system/lib/libc.so   (__thread_entry+48) 
    01-13 21:21:56.971 2577 2577 I DEBUG :  #08 pc 00012558 /system/lib/libc.so (pthread_create+172) 

어떤 제안을 주셔서 감사합니다.

+0

그것이 스택 트레이스를 생산 하는가 -

* 편집 * 일부 추가 시험은 문제가 계속 나타날 것으로 나타났다? 그렇다면 게시하십시오. – trojanfoe

+0

2.3에서 얻지는 않았지만 JB에서이 문제를 해결할 수 있습니까? –

+0

마이크 어떤 장치를 사용합니까? 나는 삼성의 문제라고 생각합니다. Nexus 7이나 Nexus S에서는 JB –

답변

1

나는 매우 비슷한 문제가있었습니다. 새로운 AudioTrack을 만들고 새로운 파일을 열 때마다 세션 ID를 기반으로 새로운 Visualizer를 생성합니다. 4.4.2가 포함 된 Nexus 7에서 Visualizer가 생성 된 직후에 치명적인 신호 11 및 6을 임의의 시간에 가져 오지만 HTC GPE는 4.4.2가 아닙니다. 그대로

미운하고 설명 할 수없는 무엇 나를 위해 그것을 해결하는 것은이었다 다음 AudioTrack 새로운 비주얼의하지만 이후 건설 전에

Thread.sleep(100) 

가 초기화 (및 해제() 이전 비주얼의)입니다. 더 나은 솔루션을 환영합니다.

+0

시도해도 도움이되지 않습니다. – Ernest

0

꽤 늦었지만 지금은이 문제를 해결했습니다. 문제점을 해결하기 전에 매번 시각화 프로그램을 릴리스해야했습니다. 죄송

+0

이 문제를 해결할 수 있습니까? – AndreiBogdan