我一直在尝试学习声音是如何工作的,以及如何将其实现到pascal。没有成功。我开始使用 8 位声音(我相信它们是 8 位的),并尝试复制一些歌曲(如马里奥歌曲)。我有一些问题。1.如何使用程序播放歌曲(真正的歌曲)2.是否有任何网站提供8位歌曲,但代码(频率和持续时间) 还有一个不相关的问题....有没有办法将代码从浏览器复制到免费的 Pascal....?我真的是免费帕斯卡的新手。
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.
在Freepascal中,你可以走简单的路线:http://wiki.freepascal.org/Multimedia_Programming