2009년 05월 17일
Example ) NetStream
가장 유사하니 분석 해보면 나오겠지요.
1. System::SetStreamBufferSize
이 함수 호출 후의 사용될 스트림 파일의 버퍼 크기를 설정 하는 함수입니다.
내부적으로 버퍼가 있다는 이야기 겠죠..?
너무 큰 값은 메모리를 더 많이 소비하게 되고,
작은 메모리 값 역시 소비자/생산자(버퍼에 값을 쓰고 지우고 하니깐)반복이 많아서
cpu에 그만큼 부하를 준다는 내용입니다.
뭐 적당한 값을 넣어주면 될듯 한데 어느정도가 적당할지;
두번째 인자로 들어가는 FMOD_TimeUnit의 용도가 아직은 잘 모르겠습니다.
추측해보자면..그 음질에 따라서 같은 음악이라해도 파일의 크기가 다른데
첫번째 인자로 들어간 Byte에 대한 시간을 나타내는 값이 들어가는거 같습니다.
FMOD_OK / FMOD_RESULT값을 반환합니다.
FMOD_OPENUSER와 함께 생성된 스트림에선 이 함수는 아무런 효과가 없습니다.
System::CreateSound에서 BufferSize를 명시화 하여 호출했다면 말이지요.
2. FMOD_NonBlocking
FMOD_MODE중 하나인 논블록킹모드 입니다.
소켓모델에서 논블록킹이랑 같은 의미로 사용되는듯 합니다.
3. Sound::getOpenState
FMOD_NonBlocking을 이용하여 사운드를 생성후, 상태를 얻어올 때 사용하는 함수입니다.
첫번째 인자로 스트리밍버퍼의 상태를 얻어올 포인터입니다. NULL을 넣으면 무시합니다.
두번째 인자는 스트림의 진행, 버퍼를 채운 %를 알려주는 unsigned int*값이 들어갑니다. 역시 NULL로 무시가능.
마지막 bool* 는 소모되었는지 여부를 나타냅니다.....(잘 모르겠네요)
스트림 파일 버퍼가 준비한것 보다 더 많은 스트림이 디코딩 되었다면 TRUE로 세팅.됩니다...
역시 NULL로 무시 가능.
1. System::SetStreamBufferSize
이 함수 호출 후의 사용될 스트림 파일의 버퍼 크기를 설정 하는 함수입니다.
내부적으로 버퍼가 있다는 이야기 겠죠..?
너무 큰 값은 메모리를 더 많이 소비하게 되고,
작은 메모리 값 역시 소비자/생산자(버퍼에 값을 쓰고 지우고 하니깐)반복이 많아서
cpu에 그만큼 부하를 준다는 내용입니다.
뭐 적당한 값을 넣어주면 될듯 한데 어느정도가 적당할지;
두번째 인자로 들어가는 FMOD_TimeUnit의 용도가 아직은 잘 모르겠습니다.
추측해보자면..그 음질에 따라서 같은 음악이라해도 파일의 크기가 다른데
첫번째 인자로 들어간 Byte에 대한 시간을 나타내는 값이 들어가는거 같습니다.
FMOD_OK / FMOD_RESULT값을 반환합니다.
FMOD_OPENUSER와 함께 생성된 스트림에선 이 함수는 아무런 효과가 없습니다.
System::CreateSound에서 BufferSize를 명시화 하여 호출했다면 말이지요.
2. FMOD_NonBlocking
FMOD_MODE중 하나인 논블록킹모드 입니다.
소켓모델에서 논블록킹이랑 같은 의미로 사용되는듯 합니다.
3. Sound::getOpenState
FMOD_NonBlocking을 이용하여 사운드를 생성후, 상태를 얻어올 때 사용하는 함수입니다.
첫번째 인자로 스트리밍버퍼의 상태를 얻어올 포인터입니다. NULL을 넣으면 무시합니다.
두번째 인자는 스트림의 진행, 버퍼를 채운 %를 알려주는 unsigned int*값이 들어갑니다. 역시 NULL로 무시가능.
마지막 bool* 는 소모되었는지 여부를 나타냅니다.....(잘 모르겠네요)
스트림 파일 버퍼가 준비한것 보다 더 많은 스트림이 디코딩 되었다면 TRUE로 세팅.됩니다...
역시 NULL로 무시 가능.
# by | 2009/05/17 10:23 | 삽질일기_FMOD | 트랙백





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]