2013-08-21 3 views
1

OpenSL ES에 대한 도움이 필요합니다. - mp3 노래의 피치를 변경하고 싶습니다. 내가 사용한 코드는 여기에 있습니다 : Android : How to change Playback Rate of music using OpenSL ES 그러나이 예제에서는 주석이 달려 있습니다. 주석 처리를 제거하면 작동하지 않습니다. 어쩌면 당신이 그것을 해결했습니다 늦게 여기 정말OpenSL ES 변경 피치

OSLESMediaPlayer(7173): create engine 
OSLESMediaPlayer(7173): realize the engine 
OSLESMediaPlayer(7173): get the engine interface 
OSLESMediaPlayer(7173): create output mix 
libOpenSLES(7173): class OutputMix interface 0 requested but unavailable MPH=33 
OSLESMediaPlayer(7173): realize the output mix 
libOpenSLES(7173): Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED) 
libOpenSLES(7173): Leaving PlaybackRate::SetPropertyConstraints (SL_RESULT_FEATURE_UNSUPPORTED) 
/OSLESMediaPlayer(7173): Feature Unsupported 
libc(7173): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1) 

답변

1

하지만 인터페이스는 지원되지 않습니다 코드를

result = (*uriPlayerObject)->GetInterface(uriPlayerObject, SL_IID_PITCH, 
      &uriPlaybackPitch); 
    assert(SL_RESULT_SUCCESS == result); 

uriPlaybackPitch == NULL을 executint 후

로그 캣입니다. Android 용 OpenSL ES는 완전한 구현이 아닙니다. 지원되는 인터페이스는 다음에서 찾을 수 있습니다. http://mobilepearls.com/labs/native-android-api/ndk/docs/opensles/

+0

링크가 오프라인 인 것 같습니다. – Kyle

+0

http://mobilepearls.com/labs/native-android-api/ndk/docs/opensles/index.html – HerrLip