거두 절미하고 바로 질문으로 들어가겠습니다 양해해주시기 바랍니다.
image는 imagelist를 사용해서 리소스를 컴파일된 화일에 포함할 수 있는 것으로 알고 있거든요. 그런데 mediaplayer는 어떻게 하면 컴파일된 화일에 포함시킬 수 있는지 알고 싶습니다.
좀 급하거든요. 꼭 답변 부탁드립니다.
개발환경에서는 제대로 실행이 되는데 다른 컴퓨터에서 실행하면 제대로 실행이 되지 않는군요.
당연하겠죠 -_-; wav화일이 존재하질 않으니까요. 꼭좀 알려주셨으면 좋겠습니다.
그럼 미리 인사를 올리죠.
꾸벅. 감사함니다.
리소스형태로 파일을 추가하셔서 실행할때 디스크에 파일을 만들어주면 되겠는데요.
Bin디렉토리에 있는 리소스컴파일러(아마 이름이 brcc32.exe일것입니다)를 이용해서
RCDATA형태로 리소스스크립트파일을 만들어서 컴파일해주시면 리소스파일(.res)만들어
지는데 이것을 $R지시자로 넣어주시면 컴파일할때 같이 컴파일됩니다.
다음은 리소스스크립트파일(myres.rc)의 내용입니다. 메모장 같은 곳에서 편집하세요.
1 RCDATA "SomeWave.wav"
아래와 같이 디렉토리를 지정하거나 스트링으로 리소스 이름을 지정해도 됩니다.
// MyWav RCDATA "c:SomeWave.wav"
위에서 만든 myres.rc를 가지고 리소스컴파일러에서 컴파일하면 (도스 프롬프트에서)
myres.res파일이 만들어 집니다. 그럼 유닛 파일에 {$R myres.res}해서 추가해 줍니다.
폼파일 추가하듯이... 그러면 리소스파일이 실행파일에 포함이 됩니다.
그리고 음악파일을 플레이 하기 전에 리소스스트림을 이용해서 리소스를 파일로 써줍
니다. 그러면 어디서든지 플레이가 가능하죠... 플레이가 끝난뒤에 이 파일이 필요가
없다면 지우시면 되구요.
{$R myres.res}
var
ResStream: TResourceStream;
begin
ResStream := TResourceStream.CreateFromID(HInstance, 1, RT_RCDATA);
ResStream.SaveToFile('c:mywav.wav');
ResStream.Free;
end;
^^ 항상 즐코하세요.
류보희 wrote:
> 거두 절미하고 바로 질문으로 들어가겠습니다 양해해주시기 바랍니다.
> image는 imagelist를 사용해서 리소스를 컴파일된 화일에 포함할 수 있는 것으로 알고 있거든요. 그런데 mediaplayer는 어떻게 하면 컴파일된 화일에 포함시킬 수 있는지 알고 싶습니다.
> 좀 급하거든요. 꼭 답변 부탁드립니다.
> 개발환경에서는 제대로 실행이 되는데 다른 컴퓨터에서 실행하면 제대로 실행이 되지 않는군요.
> 당연하겠죠 -_-; wav화일이 존재하질 않으니까요. 꼭좀 알려주셨으면 좋겠습니다.
> 그럼 미리 인사를 올리죠.
> 꾸벅. 감사함니다.