我一直在努力学习声音如何工作以及如何将其应用于pascal。没有成功。我开始使用8位声音(我相信它们是8位)并试图复制一些歌曲(如马里奥歌曲)。我有一些问题。 1.我如何使用节目播放歌曲(真正的歌曲) 2.是否有任何网站提供8位歌曲,但代码(频率和持续时间) 还有一个无关的问题....有没有办法将代码从浏览器复制到免费的pascal ....?我真的很想解开pascal。
答案 0 :(得分:3)
TP在20年内没有更新过,我建议使用Freepascal,它更好,不断更新。
除此之外,在TP中,除非你自己编写代码,否则你将无法原生播放一首歌(mp3,ogg)。你可能会发现一些有源代码的旧DOS播放程序,但祝你好运。
如果您打算播放简单的音调,那么声音()和延迟()就是您所需要的,但我想您已经这样做过了?只需一个读取音调和持续时间列表的情况。如果您想在代码中执行其他操作,则需要检查自音调开始以来经过的时间,一旦达到音调长度或更长时间,然后切换到下一个音调。
下面的伪代码:
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.
在Freepascal,你可以采取简单的路线:http://wiki.freepascal.org/Multimedia_Programming