2014-12-22 2 views
-2

필자는 사운드가 작동하는 법을 배우고 파스칼에 구현할 수있는 방법을 배우려고 노력 해왔다. succes. 나는 8 비트 사운드를 사용하기 시작했으며 (8 비트라고 믿는다.) 마리오 노래 같은 일부 노래를 복사하려고 시도했다. 질문이 몇 개 있습니다. 1. 프로그램을 사용하여 노래 (실제 노래)를 재생할 수 있습니다. 2. 8 비트 곡을 제공하지만 코드 (빈도 및 기간)가있는 사이트가 있습니까 그리고 관련없는 질문이 하나 있습니다. 브라우저에서 자유로운 파스칼로 코드를 복사하는 것 ....? 나는 정말로 파스칼을 무료로 보았습니다.터보 파스칼의 사운드입니다. 어떻게 작동합니까?

+1

"무료 파스칼에 브라우저에서 코드를 복사 할 수있는 방법이있다 .... ? " - Ctrl + C ... Ctrl + V가 도움이 될 것입니다.) [here] (http://wiki.lazarus.freepascal.org/Category:Audio)를 심각하게 시작한 다음 대답을 찾지 못하면 명확히하십시오 여기에 귀하의 질문. – Abelisto

+0

실제로 내 실수 ... 터보 파스칼을 사용하고 있습니다. 브라우저에서 복사하지 않고 붙여 넣기 만하면됩니다. – RoLeagueGamers

답변

3

TP가 20 년 만에 업데이트되지 않았으며 Freepascal을 사용하는 것이 훨씬 더 효과적이며 지속적으로 업데이트 될 것을 제안합니다.

그렇지만 TP에서는 직접 코드를 작성하지 않으면 기본적으로 노래 (mp3, ogg)를 재생할 수 없습니다. 소스 코드를 가지고있는 구식 DOS mp3 재생 프로그램을 찾을 수 있습니다. 그러나 그것에 대해 행운을 빕니다.

단순한 음색을 재생하려면 sound() 및 delay() 만 있으면 충분하지만 이미이 작업을 수행 한 것 같습니다. 단순히 톤과 기간의 목록을 읽는 경우. 이 상황이 발생하는 동안 코드에서 다른 작업을 원하면 톤이 시작된 이후 경과 된 시간을 확인하고 톤 길이 이상이되면 다음 톤으로 전환해야합니다. 아래

의사 코드 :

var tlength : integer; 
    starttime : integer; 

procedure readtone; 
var tone: byte; 
begin 
    if (starttime+nowtime >= tlength) then 
    begin 
    tone:=read from file 
    tlength:=read from file 
    starttime:=now 
    sound(tone) 
    end; 
end; 

begin 
    repeat 
    readtone; 
    do something else 
    until done 
end. 

는 프리 파스칼에서 당신이 쉬운 경로를 취할 수 있습니다 : http://wiki.freepascal.org/Multimedia_Programming