-1

我已经尝试了一段时间来了解声音是如何工作的以及如何将它实现到帕斯卡。没有成功。我开始使用 8 位声音(我相信它们是 8 位的)并尝试复制一些歌曲(如马里奥歌曲)。我有一些问题。1. 我如何使用程序播放歌曲(一首真正的歌曲) 2. 是否有任何网站提供 8 位歌曲但在代码中(频率和持续时间)和一个不相关的问题....有没有办法复制从浏览器到免费帕斯卡的代码....?我对免费帕斯卡真的很陌生。

4

1 回答 1

4

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.

在 Freepascal 中,您可以采取简单的方法:http ://wiki.freepascal.org/Multimedia_Programming

于 2014-12-31T12:07:27.327 回答