C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[69243] Re:전체 음성파일 버퍼 :PCM 파일의 Header를 제외한 데이터만 전송
주누 [junesaku] 2583 읽음    2013-03-19 11:14
김민수 님이 쓰신 글 :
: 전체 음성파일 버퍼 :PCM 파일의 Header를 제외한 데이터만 전송
:
: PCM 파일의 Header를 제외한 데이터만 전송인데 전송해야 할 변수가
: byte pbyCallBackData; 입니다.
:
: TFileStream *inHandle = new TFileStream("1.wav", fmOpenRead);
: //    if ( inHandle == NULL) return false ;
:     char *pbyCallBackData= new char[inHandle->Size];
:     inHandle->Read(pszBuffer,inHandle->Size);
:
: 이런식으로 해서 버퍼에 들어가다가 0x00값을 만나면 그 다음 값부터는 들어가지 않습니다.
:
: 어떻게해야 버퍼에 다 넣을 수있나요?
:
: header 부분은 빼는 법은
: RIFF의 size - DATA size 의 값부터 나오면 될거같은데
:
: byte 형에 wav  값들을 어떻게 넣어야 하나요?
:
특정값을 만날때 값이 들어가지 않는다면 해당 값에 분기되는 이유를 찾아보고 해결해 보심이 어떨지요.
아마 0x00에서 끝난다면 문자열로 취급할때 0x00(null char)로 생각해서 읽는건 중단 하거나 한 걸수도 있고요.

그런데 위 코드에서 file스트림은 읽거나 불러오기 한뒤에 무언가 데이터를 작업하려면
포지션을 다시 지정해줘야 정상적인 값이 나오지 않나요?
파일스트림은 아직 써본적 없지만 메모리 스트림의 경우 데이터를 모두 얻으려면 항상 사용전에 포지션을 0으로 지정해줘야 처음부터 읽거나 쓰지 안그러면 마지막 작업이 있던 위치서부터 쓰거나 읽거나 해서..

+ -

관련 글 리스트
69238 전체 음성파일 버퍼 :PCM 파일의 Header를 제외한 데이터만 전송 김민수 2062 2013/03/18
69246     Re:전체 음성파일 버퍼 :PCM 파일의 Header를 제외한 데이터만 전송 꼬부기 1968 2013/03/19
69257         Re:Re:전체 음성파일 버퍼 :PCM 파일의 Header를 제외한 데이터만 전송 1871 2013/03/19
69243     Re:전체 음성파일 버퍼 :PCM 파일의 Header를 제외한 데이터만 전송 주누 2583 2013/03/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.