1
AudioPlayer를 (Native-Audio NDK 샘플에 따라) 만들려고하지만 재생할 파일이 동적으로 다운로드되므로 AssetManager를 사용하지 않으므로 Assets으로 패키지되지 않습니다.OpenSL ES에서 재생하기 위해 파일을 JNI로 전달하는 방법 AudioPlayer?
// open asset as file descriptor
off_t start, length;
int fd = AAsset_openFileDescriptor(asset, &start, &length);
assert(0 <= fd);
AAsset_close(asset);
// configure audio source
SLDataLocator_AndroidFD loc_fd = {SL_DATALOCATOR_ANDROIDFD, fd, start, length};
SLDataFormat_MIME format_mime = {SL_DATAFORMAT_MIME, NULL, SL_CONTAINERTYPE_UNSPECIFIED};
SLDataSource audioSrc = {&loc_fd, &format_mime}
를 불행히도에 : 그것은 (AssetManager를 사용하지 않고) 아래의 예제 JNI 코드와 같은 상황에서 사용되는 JNI 자바에서 FileDescriptor에 통과 할 수 있다면
그래서 궁금 해서요 Java 측에서 FileDescriptor는 클래스이며 SLDataLocator_AndroidFD에서 사용할 int (SLuint32)가 아닙니다. 아래생성자는 :
/** File Descriptor-based data locator definition, locatorType must be SL_DATALOCATOR_ANDROIDFD */ typedef struct SLDataLocator_AndroidFD_ {
SLuint32 locatorType;
SLint32 fd;
SLAint64 offset;
SLAint64 length; } SLDataLocator_AndroidFD;
는 어떤 도움을 주시면 감사하겠습니다!
이것을 파악한 적이 있습니까? 응답을 게시하는주의? – anakin78z
불행히도, 우리는 JNI 측에서 사운드 파일을 바이트 배열로 코딩하는 것을 끝내 었습니다. –