|
안녕하세요.
자료실에 델파이 컴포넌트에서 c builder로 변환해 놓은 waveaudio를 설치하여 사용중입니다.
지금 LiveAudioPlayer 가 필요한데..LiveAudioPlayer1DataPtr 이벤트가 잘 작동안하는듯 합니다.
델파이에선 초당 10번가까이 나오는듯 하지만 여기선 3번정도 이벤트가 발생하고 오디오카드소리가 전혀없이 멈쳐버리네요..
물론 bufferinternally 속성은 false로 바꾸었습니다.
현재 프로젝트에서 곡 필요한 기능인데 안되니 맘만 급하네요..
혹시 빌더에서 다뤄보신 경험이 있으신분은 도움말씀 부탁드립니다.
참고로 제가 테스트 한 코드는 아래와 같습니다..
DWORD __fastcall TForm1::LiveAudioPlayer1DataPtr(TObject *Sender,
Pointer Buffer, DWORD &NumLoops, bool &FreeIt)
{
Memo1->Lines->Add("PTR");
TMemoryStream *msStream;
msStream = new TMemoryStream;
msStream->LoadFromFile("c:\\test2.wav"); // 파일크기는 100000 byte 보다 큼
char imsi[100000];
msStream->Read(imsi, 100000);
Buffer = imsi;
msStream->Free();
return 100000;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
LiveAudioPlayer1->Active = true;
}
|