本帖最后由 523066680 于 2025-3-7 10:51 编辑
这种大概是函数生成波形,通过win32的音频接口发声。
perl有一个 Auido::Beep 可以简单地播放指定频率/波形的声音 | | | use Audio::Beep; | | beep(880, 1000); COPY |
---
然后追溯一下 Audio::Beep 的模块代码,是调用 Win32::API | use strict; | | use Carp; | | use Win32::API; | | | | sub new { | | my $class = shift; | | my $player = Win32::API->new('kernel32', 'Beep', 'NN', 'N') | | or croak "Cannot initialize " . __PACKAGE__ . " object"; | | return bless { | | player => $player | | }, $class; | | } | | | | sub play { | | my $self = shift; | | my ($freq, $duration) = @_; | | return $self->{player}->Call(sprintf("%.0f", $freq), $duration); | | }COPY |
---
问一下kimi,结果更直接 | #include <windows.h> // 包含Windows API的头文件 | | #include <stdio.h> | | | | int main() { | | | | Beep(800, 1000); | | | | printf("Beep sound played.\n"); | | return 0; | | }COPY |
|