OpenSL ES의 URI 플레이어를 사용하여 원활한 루프를 만들기 위해 this 질문 (오디오의 길이를 쿼리)에서 가져온 코드를 실행 해 보았습니다. 예 : 030NDK OpenSL ES, URI (비 버퍼) 플레이어를 사용한 완벽한 루핑 사운드
나는 전체 파일 반복 작업 이외의 다른 것을 얻을 수 없다.
// enable whole file looping
result = (*uriPlayerSeek)->SetLoop(uriPlayerSeek, SL_BOOLEAN_TRUE, 0, 200);
assert(SL_RESULT_SUCCESS == result);
다음 쿼리 루프 포인트 : 내가 루프를 설정하면 "-1 : 0 끝 시작"및 파일이 대신 처음부터 끝까지 루프
SLboolean b;
SLmillisecond start;
SLmillisecond end;
result = (*uriPlayerSeek)->GetLoop(uriPlayerSeek, &b, &start, &end);
assert(SL_RESULT_SUCCESS == result);
__android_log_print(ANDROID_LOG_DEBUG, "NDK_debug_tag: ", "start: %d end: %d", (int)start, (int)end);
내가 얻을 그냥 작은 섹션을 루핑하는 것입니다.
이
SetLoop는 전체 파일 루핑을 가능하게 탐색 : 문서 here는 전체 파일 루핑을 언급하고있다. startPos 매개 변수는 이어야하며 endPos 매개 변수는 SL_TIME_UNKNOWN이어야합니다.
그러나 파일의 루핑 부분이 지원되지 않는다고 구체적으로 말하지는 않습니다. 아무도 이것으로 어떤 성공을 했습니까? 또는이 기능이 OpenSL ES Android 구현에서 지원되지 않는지 확인할 수 있습니까?