0%

仅做笔记用:C语言 Linux控制PC蜂鸣器,相对简单一点的代码

原型代码来自https://stackoverflow.com/questions/4447166/how-to-use-pc-speaker-in-linux ,以及https://luv.asn.au/overheads/linux_sound/pcspkr.html

答主liorda提供的代码,依次发出“C D E F G A B >C”的音调,可以直接运行。

TinyCore下面建议使用TCC来编译。不能直接用GCC编译,有些头文件缺失,需要手动修复。物理机器需要主板SPEAKER插槽接了PC喇叭才能听到响。VMware虚拟机是直接通过物理机声卡模拟PC喇叭的声音,不需要考虑主板是否安装了PC喇叭。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <sys/ioctl.h>
#include <unistd.h>
#include <linux/kd.h>
int main(void)
{
int freq[] = { /* C D E F G A B C */
523, 587, 659, 698, 784, 880, 988, 1046 };
int i;

for (i=0; i<8; i++)
{
ioctl(STDOUT_FILENO, KIOCSOUND, 1193180/freq[i]);
usleep(500000);
}
ioctl(STDOUT_FILENO, KIOCSOUND, 0); /*Stop silly sound*/
return 0;
}

转换成使用Python生成曲谱的代码则为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* *************************
* Use TCC to compile instead
* of GCC.
* Copy the Python outputs
* and save as "TMP.H" at
* the same directory of
* this CPP file.
* *************************/

#include <sys/ioctl.h>
#include <unistd.h>
#include <linux/kd.h>
#include <stdio.h>
#include "tmp.h"

int main() {
int i = 0;
for (i=0; i<=NOTESCONUT; i++) {
printf("%d ", k[i][0]);
ioctl(STDOUT_FILENO, KIOCSOUND, k[i][0] == 0 ? 0 : 1193180/k[i][0]);
usleep(k[i][1] * 1000);
ioctl(STDOUT_FILENO, KIOCSOUND, 0);
usleep(10000);
}
ioctl(STDOUT_FILENO, KIOCSOUND, 0);
return 0;
}

那个tmp.h还是通过鄙人修改后的“炒鸡嗨客协管徐”大佬的Python代码来导入MML曲谱生成。

例如某大佬编配的《千本樱》的MML转换后的tmp.h为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#define NOTESCONUT 1310
int k[NOTESCONUT][2] = {
{587, 321}, {587, 321}, {523, 214}, {587, 321}, {587, 321}, {523, 214}, {587, 321}, {587, 321}, {523, 214}, {587, 429}, {698, 429}, {587, 321}, {587, 321}, {523, 214}, {587, 321}, {587, 321}, {523, 214}, {587, 429}, {880, 429}, {784, 429}
,
{880, 429}, {784, 214}, {880, 214}, {587, 107}, {523, 107}, {587, 107}, {523, 107}, {784, 214}, {880, 214}, {587, 107}, {523, 107}, {587, 107}, {523, 107}, {784, 214}, {880, 214}, {587, 107}, {523, 107}, {587, 107}, {523, 107}, {698, 214}
,
{659, 107}, {659, 107}, {587, 214}, {523, 214}, {784, 214}, {880, 214}, {587, 107}, {523, 107}, {587, 107}, {523, 107}, {784, 214}, {880, 214}, {587, 107}, {523, 107}, {587, 107}, {523, 107}, {784, 214}, {880, 214}, {1047, 214}, {1397, 214}
,
{1319, 107}, {1397, 107}, {1319, 107}, {1175, 107}, {1047, 214}, {880, 214}, {784, 214}, {880, 214}, {587, 107}, {523, 107}, {587, 107}, {523, 107}, {784, 214}, {880, 214}, {587, 107}, {523, 107}, {587, 107}, {523, 107}, {784, 214}, {880, 214}
,
{587, 107}, {523, 107}, {587, 107}, {523, 107}, {698, 214}, {659, 107}, {659, 107}, {587, 214}, {523, 214}, {587, 214}, {523, 107}, {587, 107}, {698, 214}, {587, 107}, {698, 107}, {784, 214}, {784, 107}, {880, 107}, {1047, 107}, {1397, 107}
,
{880, 107}, {1047, 107}, {1397, 214}, {1319, 107}, {1319, 107}, {1175, 214}, {1047, 214}, {1175, 429}, {1175, 214}, {1397, 214}, {1568, 214}, {1760, 214}, {1175, 107}, {1047, 107}, {1175, 107}, {1047, 107}, {1568, 214}, {1760, 214}, {1175, 107}, {1047, 107}
,
{1175, 107}, {1047, 107}, {1568, 214}, {1760, 214}, {1175, 107}, {1047, 107}, {1175, 107}, {1047, 107}, {1397, 214}, {1319, 107}, {1319, 107}, {1175, 214}, {1047, 214}, {1568, 214}, {1760, 214}, {1175, 107}, {1047, 107}, {1175, 107}, {1047, 107}, {1568, 214}
,
{1760, 214}, {1175, 107}, {1047, 107}, {1175, 107}, {1047, 107}, {1568, 214}, {1760, 214}, {2093, 214}, {2794, 214}, {2637, 107}, {2794, 107}, {2637, 107}, {2349, 107}, {2093, 214}, {1760, 214}, {1568, 214}, {1760, 214}, {1175, 107}, {1047, 107}, {1175, 107}
,
{1047, 107}, {1568, 214}, {1760, 214}, {1175, 107}, {1047, 107}, {1175, 107}, {1047, 107}, {1568, 214}, {1760, 214}, {1175, 107}, {1047, 107}, {1175, 107}, {1047, 107}, {1397, 214}, {1319, 107}, {1319, 107}, {1175, 214}, {1047, 214}, {1568, 214}, {1760, 107}
,
{2093, 107}, {2349, 107}, {2093, 107}, {1760, 107}, {1568, 107}, {1175, 214}, {1397, 214}, {1568, 214}, {1760, 214}, {1175, 321}, {1175, 321}, {1047, 214}, {1175, 750}, {0, 107}, {587, 429}, {587, 321}, {523, 107}, {587, 214}, {698, 214}, {698, 214}
,
{784, 214}, {587, 429}, {587, 321}, {523, 107}, {587, 214}, {523, 214}, {440, 214}, {523, 214}, {587, 429}, {587, 321}, {523, 107}, {587, 214}, {698, 214}, {784, 214}, {880, 214}, {880, 429}, {784, 107}, {880, 214}, {784, 107}, {698, 429}
,
{587, 429}, {587, 429}, {587, 321}, {523, 107}, {587, 214}, {698, 214}, {698, 214}, {784, 214}, {587, 429}, {587, 321}, {523, 107}, {587, 214}, {523, 214}, {523, 214}, {440, 214}, {587, 429}, {587, 321}, {523, 107}, {523, 214}, {587, 214}
,
{698, 214}, {784, 214}, {880, 429}, {784, 107}, {880, 214}, {784, 107}, {698, 429}, {587, 429}, {698, 429}, {659, 429}, {587, 429}, {523, 429}, {523, 214}, {523, 107}, {587, 107}, {440, 214}, {392, 214}, {440, 750}, {0, 107}, {440, 214}
,
{523, 214}, {587, 429}, {784, 429}, {659, 429}, {698, 429}, {659, 214}, {523, 214}, {587, 750}, {0, 107}, {698, 429}, {659, 429}, {587, 429}, {523, 429}, {523, 214}, {523, 107}, {587, 107}, {440, 214}, {392, 214}, {440, 429}, {440, 214}
,
{523, 214}, {587, 214}, {587, 429}, {587, 214}, {698, 429}, {784, 429}, {659, 1178}, {0, 107}, {587, 214}, {698, 214}, {784, 321}, {784, 321}, {880, 214}, {880, 536}, {0, 107}, {880, 214}, {1047, 214}, {1175, 214}, {784, 214}, {698, 214}
,
{880, 429}, {587, 214}, {698, 214}, {784, 321}, {784, 321}, {880, 214}, {880, 536}, {0, 107}, {880, 214}, {932, 214}, {880, 214}, {784, 214}, {698, 214}, {698, 429}, {587, 214}, {698, 214}, {784, 321}, {784, 321}, {880, 214}, {880, 536}
,
{0, 107}, {880, 214}, {1047, 214}, {1175, 214}, {784, 214}, {698, 214}, {880, 429}, {587, 214}, {698, 214}, {932, 429}, {880, 429}, {784, 429}, {698, 429}, {784, 214}, {880, 214}, {659, 214}, {523, 214}, {587, 429}, {587, 214}, {698, 214}
,
{784, 321}, {784, 321}, {880, 214}, {880, 536}, {0, 107}, {880, 214}, {1047, 214}, {1175, 214}, {784, 214}, {698, 214}, {880, 429}, {587, 214}, {698, 214}, {784, 321}, {784, 321}, {880, 214}, {880, 536}, {0, 107}, {880, 214}, {932, 214}
,
{880, 214}, {784, 214}, {698, 214}, {698, 429}, {587, 214}, {698, 214}, {784, 321}, {784, 321}, {880, 214}, {880, 536}, {0, 107}, {880, 214}, {1047, 214}, {1175, 214}, {784, 214}, {698, 214}, {880, 429}, {587, 214}, {698, 214}, {932, 429}
,
{880, 429}, {784, 429}, {698, 429}, {784, 214}, {698, 214}, {880, 214}, {1047, 214}, {1175, 750}, {0, 107}, {784, 214}, {880, 214}, {587, 107}, {523, 107}, {587, 107}, {523, 107}, {784, 214}, {880, 214}, {587, 107}, {523, 107}, {587, 107}
,
{523, 107}, {784, 214}, {880, 214}, {587, 107}, {523, 107}, {587, 107}, {523, 107}, {698, 214}, {659, 107}, {659, 107}, {587, 214}, {523, 214}, {784, 214}, {880, 214}, {587, 107}, {523, 107}, {587, 107}, {523, 107}, {784, 214}, {880, 214}
,
{587, 107}, {523, 107}, {587, 107}, {523, 107}, {784, 214}, {880, 214}, {1047, 214}, {1397, 214}, {1319, 107}, {1397, 107}, {1319, 107}, {1175, 107}, {1047, 214}, {880, 214}, {784, 214}, {880, 214}, {587, 107}, {523, 107}, {587, 107}, {523, 107}
,
{784, 214}, {880, 214}, {587, 107}, {523, 107}, {587, 107}, {523, 107}, {784, 214}, {880, 214}, {587, 107}, {523, 107}, {587, 107}, {523, 107}, {698, 214}, {659, 107}, {659, 107}, {587, 214}, {523, 214}, {587, 214}, {523, 107}, {587, 107}
,
{698, 214}, {587, 107}, {698, 107}, {784, 214}, {784, 107}, {880, 107}, {1047, 107}, {1397, 107}, {880, 107}, {1047, 107}, {1397, 214}, {1319, 107}, {1319, 107}, {1175, 214}, {1047, 214}, {1175, 429}, {1175, 214}, {1397, 214}, {1568, 214}, {1760, 214}
,
{1175, 107}, {1047, 107}, {1175, 107}, {1047, 107}, {1568, 214}, {1760, 214}, {1175, 107}, {1047, 107}, {1175, 107}, {1047, 107}, {1568, 214}, {1760, 214}, {1175, 107}, {1047, 107}, {1175, 107}, {1047, 107}, {1397, 214}, {1319, 107}, {1319, 107}, {1175, 214}
,
{1047, 214}, {1568, 214}, {1760, 214}, {1175, 107}, {1047, 107}, {1175, 107}, {1047, 107}, {1568, 214}, {1760, 214}, {1175, 107}, {1047, 107}, {1175, 107}, {1047, 107}, {1568, 214}, {1760, 214}, {2093, 214}, {2794, 214}, {2637, 107}, {2794, 107}, {2637, 107}
,
{2349, 107}, {2093, 214}, {1760, 214}, {1568, 214}, {1760, 214}, {1175, 107}, {1047, 107}, {1175, 107}, {1047, 107}, {1568, 214}, {1760, 214}, {1175, 107}, {1047, 107}, {1175, 107}, {1047, 107}, {1568, 214}, {1760, 214}, {1175, 107}, {1047, 107}, {1175, 107}
,
{1047, 107}, {1397, 214}, {1319, 107}, {1319, 107}, {1175, 214}, {1047, 214}, {1568, 214}, {1760, 107}, {2093, 107}, {2349, 107}, {2093, 107}, {1760, 107}, {1568, 107}, {1175, 214}, {1397, 214}, {1568, 214}, {1760, 214}, {1175, 321}, {1175, 321}, {1047, 214}
,
{1175, 750}, {0, 107}, {587, 429}, {587, 321}, {523, 107}, {587, 214}, {698, 214}, {698, 214}, {784, 214}, {587, 429}, {587, 321}, {523, 107}, {587, 214}, {523, 214}, {440, 214}, {523, 214}, {587, 429}, {587, 321}, {523, 107}, {587, 214}
,
{698, 214}, {784, 214}, {880, 214}, {880, 429}, {784, 107}, {880, 214}, {784, 107}, {698, 429}, {587, 429}, {587, 429}, {587, 321}, {523, 107}, {587, 214}, {698, 214}, {698, 214}, {784, 214}, {587, 429}, {587, 321}, {523, 107}, {587, 214}
,
{523, 214}, {523, 214}, {440, 214}, {587, 429}, {587, 321}, {523, 107}, {523, 214}, {587, 214}, {698, 214}, {784, 214}, {880, 429}, {784, 107}, {880, 214}, {784, 107}, {698, 429}, {587, 429}, {698, 429}, {659, 429}, {587, 429}, {523, 429}
,
{523, 214}, {523, 107}, {587, 107}, {440, 214}, {392, 214}, {440, 750}, {0, 107}, {440, 214}, {523, 214}, {587, 429}, {784, 429}, {659, 429}, {698, 429}, {659, 214}, {523, 214}, {587, 750}, {0, 107}, {698, 429}, {659, 429}, {587, 429}
,
{523, 429}, {523, 214}, {523, 107}, {587, 107}, {440, 214}, {392, 214}, {440, 429}, {440, 214}, {523, 214}, {587, 214}, {587, 429}, {587, 214}, {698, 429}, {784, 429}, {659, 1178}, {0, 107}, {587, 214}, {698, 214}, {784, 321}, {784, 321}
,
{880, 214}, {880, 536}, {0, 107}, {880, 214}, {1047, 214}, {1175, 214}, {784, 214}, {698, 214}, {880, 429}, {587, 214}, {698, 214}, {784, 321}, {784, 321}, {880, 214}, {880, 536}, {0, 107}, {880, 214}, {932, 214}, {880, 214}, {784, 214}
,
{698, 214}, {698, 429}, {587, 214}, {698, 214}, {784, 321}, {784, 321}, {880, 214}, {880, 536}, {0, 107}, {880, 214}, {1047, 214}, {1175, 214}, {784, 214}, {698, 214}, {880, 429}, {587, 214}, {698, 214}, {932, 429}, {880, 429}, {784, 429}
,
{698, 429}, {784, 214}, {880, 214}, {659, 214}, {523, 214}, {587, 429}, {587, 214}, {698, 214}, {784, 321}, {784, 321}, {880, 214}, {880, 536}, {0, 107}, {880, 214}, {1047, 214}, {1175, 214}, {784, 214}, {698, 214}, {880, 429}, {587, 214}
,
{698, 214}, {784, 321}, {784, 321}, {880, 214}, {880, 536}, {0, 107}, {880, 214}, {932, 214}, {880, 214}, {784, 214}, {698, 214}, {698, 429}, {587, 214}, {698, 214}, {784, 321}, {784, 321}, {880, 214}, {880, 536}, {0, 107}, {880, 214}
,
{1047, 214}, {1175, 214}, {784, 214}, {698, 214}, {880, 429}, {587, 214}, {698, 214}, {932, 429}, {880, 429}, {784, 429}, {698, 429}, {784, 214}, {698, 214}, {880, 214}, {1047, 214}, {1175, 750}, {0, 107}, {1175, 214}, {1175, 214}, {1175, 214}
,
{1175, 214}, {1175, 214}, {1175, 214}, {1175, 107}, {1047, 107}, {880, 214}, {784, 214}, {784, 214}, {784, 214}, {784, 214}, {784, 214}, {784, 214}, {784, 107}, {698, 107}, {587, 214}, {587, 214}, {587, 214}, {587, 214}, {587, 214}, {587, 214}
,
{587, 214}, {587, 107}, {523, 107}, {440, 214}, {392, 214}, {440, 107}, {392, 107}, {440, 107}, {523, 107}, {587, 107}, {698, 107}, {880, 107}, {1047, 107}, {1175, 107}, {1397, 107}, {1319, 214}, {587, 107}, {698, 107}, {880, 107}, {698, 107}
,
{587, 107}, {880, 214}, {880, 107}, {698, 107}, {587, 107}, {880, 107}, {698, 107}, {587, 107}, {880, 214}, {880, 107}, {698, 107}, {587, 107}, {932, 107}, {784, 107}, {698, 107}, {932, 214}, {932, 107}, {784, 107}, {698, 107}, {932, 107}
,
{784, 107}, {698, 107}, {932, 214}, {932, 107}, {784, 107}, {698, 107}, {932, 107}, {698, 107}, {587, 107}, {932, 214}, {932, 107}, {698, 107}, {587, 107}, {932, 107}, {698, 107}, {587, 107}, {932, 214}, {932, 107}, {698, 107}, {587, 107}
,
{784, 107}, {659, 107}, {523, 107}, {784, 214}, {784, 107}, {659, 107}, {523, 107}, {880, 107}, {659, 107}, {523, 107}, {880, 214}, {880, 107}, {659, 107}, {523, 107}, {880, 107}, {698, 107}, {587, 107}, {880, 107}, {1175, 107}, {880, 107}
,
{698, 107}, {587, 107}, {784, 107}, {698, 107}, {587, 107}, {880, 107}, {1397, 107}, {1175, 107}, {880, 107}, {698, 107}, {932, 107}, {698, 107}, {587, 107}, {932, 107}, {1175, 107}, {932, 107}, {698, 107}, {587, 107}, {932, 107}, {698, 107}
,
{587, 107}, {932, 107}, {1397, 107}, {1319, 107}, {1175, 107}, {1760, 107}, {1175, 107}, {932, 107}, {698, 107}, {932, 107}, {1397, 107}, {1760, 107}, {1175, 107}, {1397, 107}, {1865, 107}, {1397, 107}, {1175, 107}, {932, 107}, {932, 107}, {784, 107}
,
{587, 107}, {880, 107}, {523, 429}, {262, 107}, {330, 107}, {392, 107}, {523, 107}, {554, 429}, {277, 107}, {349, 107}, {415, 107}, {554, 107}, {784, 107}, {880, 107}, {698, 107}, {880, 107}, {784, 107}, {698, 107}, {659, 107}, {587, 107}
,
{659, 107}, {587, 107}, {523, 107}, {587, 107}, {587, 107}, {523, 107}, {440, 107}, {392, 107}, {440, 107}, {392, 107}, {349, 107}, {440, 107}, {392, 107}, {349, 107}, {330, 107}, {349, 107}, {294, 750}, {0, 107}, {294, 214}, {330, 214}
,
{349, 214}, {440, 214}, {392, 107}, {440, 107}, {587, 107}, {659, 107}, {698, 107}, {659, 107}, {587, 107}, {698, 107}, {880, 536}, {0, 107}, {1047, 214}, {880, 750}, {0, 107}, {294, 214}, {262, 214}, {392, 214}, {349, 214}, {440, 214}
,
{392, 214}, {587, 214}, {523, 214}, {784, 214}, {698, 214}, {1047, 107}, {880, 107}, {880, 107}, {1047, 107}, {1047, 750}, {0, 107}, {698, 214}, {587, 107}, {466, 107}, {349, 107}, {466, 107}, {587, 107}, {698, 107}, {784, 214}, {659, 107}
,
{523, 107}, {392, 107}, {523, 107}, {659, 107}, {784, 107}, {880, 321}, {831, 321}, {880, 107}, {831, 107}, {880, 750}, {0, 107}, {698, 429}, {659, 429}, {587, 429}, {523, 429}, {523, 214}, {523, 107}, {587, 107}, {440, 214}, {392, 214}
,
{440, 750}, {0, 107}, {440, 214}, {523, 214}, {587, 429}, {784, 429}, {659, 429}, {698, 429}, {659, 214}, {523, 214}, {587, 750}, {0, 107}, {698, 429}, {659, 429}, {587, 429}, {523, 429}, {523, 214}, {523, 107}, {587, 107}, {440, 214}
,
{392, 214}, {440, 429}, {440, 214}, {523, 214}, {587, 214}, {587, 429}, {587, 214}, {698, 429}, {784, 429}, {659, 1178}, {0, 107}, {587, 214}, {698, 214}, {784, 321}, {784, 321}, {880, 214}, {880, 536}, {0, 107}, {880, 214}, {1047, 214}
,
{1175, 214}, {784, 214}, {698, 214}, {880, 429}, {587, 214}, {698, 214}, {784, 321}, {784, 321}, {880, 214}, {880, 536}, {0, 107}, {880, 214}, {932, 214}, {880, 214}, {784, 214}, {698, 214}, {698, 429}, {587, 214}, {698, 214}, {784, 321}
,
{784, 321}, {880, 214}, {880, 536}, {0, 107}, {880, 214}, {1047, 214}, {1175, 214}, {784, 214}, {698, 214}, {880, 429}, {587, 214}, {698, 214}, {932, 429}, {880, 429}, {784, 429}, {698, 429}, {784, 214}, {880, 214}, {784, 214}, {880, 214}
,
{880, 429}, {659, 214}, {784, 214}, {880, 321}, {880, 321}, {988, 214}, {988, 536}, {0, 107}, {988, 214}, {1175, 214}, {1319, 214}, {880, 214}, {784, 214}, {988, 429}, {659, 214}, {784, 214}, {880, 321}, {880, 321}, {988, 214}, {988, 536}
,
{0, 107}, {988, 214}, {1047, 214}, {988, 214}, {880, 214}, {784, 214}, {784, 429}, {659, 214}, {784, 214}, {880, 321}, {880, 321}, {988, 214}, {988, 536}, {0, 107}, {988, 214}, {1175, 214}, {1319, 214}, {880, 214}, {784, 214}, {988, 429}
,
{659, 214}, {784, 214}, {1047, 429}, {988, 429}, {880, 429}, {784, 429}, {880, 214}, {784, 214}, {988, 214}, {1175, 214}, {1319, 429}, {659, 214}, {784, 214}, {880, 214}, {988, 214}, {659, 107}, {587, 107}, {659, 107}, {587, 107}, {880, 214}
,
{988, 214}, {659, 107}, {587, 107}, {659, 107}, {587, 107}, {880, 214}, {988, 214}, {659, 107}, {587, 107}, {659, 107}, {587, 107}, {784, 214}, {740, 107}, {784, 107}, {659, 214}, {587, 214}, {880, 214}, {988, 214}, {659, 107}, {587, 107}
,
{659, 107}, {587, 107}, {880, 214}, {988, 214}, {659, 107}, {587, 107}, {659, 107}, {587, 107}, {880, 214}, {988, 214}, {1175, 214}, {1568, 214}, {1480, 107}, {1568, 107}, {1480, 107}, {1319, 107}, {1175, 214}, {988, 214}, {880, 214}, {988, 214}
,
{659, 107}, {587, 107}, {659, 107}, {587, 107}, {880, 214}, {988, 214}, {659, 107}, {587, 107}, {659, 107}, {587, 107}, {880, 214}, {988, 214}, {659, 107}, {587, 107}, {659, 107}, {587, 107}, {784, 214}, {740, 107}, {784, 107}, {659, 214}
,
{587, 214}, {659, 214}, {587, 107}, {659, 107}, {784, 214}, {659, 107}, {784, 107}, {880, 214}, {880, 107}, {988, 107}, {1175, 107}, {1568, 107}, {988, 107}, {1175, 107}, {1568, 214}, {1480, 107}, {1480, 107}, {1319, 214}, {1175, 214}, {1319, 429}
,
{1319, 214}, {1568, 214}, {1760, 214}, {1976, 214}, {1319, 107}, {1175, 107}, {1319, 107}, {1175, 107}, {1760, 214}, {1976, 214}, {1319, 107}, {1175, 107}, {1319, 107}, {1175, 107}, {1760, 214}, {1976, 214}, {1319, 107}, {1175, 107}, {1319, 107}, {1175, 107}
,
{1568, 214}, {1480, 107}, {1568, 107}, {1319, 214}, {1175, 214}, {1760, 214}, {1976, 214}, {1319, 107}, {1175, 107}, {1319, 107}, {1175, 107}, {1760, 214}, {1976, 214}, {1319, 107}, {1175, 107}, {1319, 107}, {1175, 107}, {1760, 214}, {1976, 214}, {2349, 214}
,
{3136, 214}, {2960, 107}, {3136, 107}, {2960, 107}, {2637, 107}, {2349, 214}, {1976, 214}, {1760, 214}, {1976, 214}, {1319, 107}, {1175, 107}, {1319, 107}, {1175, 107}, {1760, 214}, {1976, 214}, {1319, 107}, {1175, 107}, {1319, 107}, {1175, 107}, {1760, 214}
,
{1976, 214}, {1319, 107}, {1175, 107}, {1319, 107}, {1175, 107}, {1568, 214}, {1480, 107}, {1568, 107}, {1319, 214}, {1175, 214}, {1760, 214}, {1976, 107}, {2349, 107}, {2637, 107}, {2349, 107}, {1976, 107}, {1760, 107}, {1319, 214}, {1568, 214}, {1760, 214}
,
{1976, 214}, {1319, 321}, {1319, 321}, {1175, 214}, {1319, 750}, {0, 107}, {1319, 321}, {1319, 321}, {1175, 214}, {1319, 750}
};
Buy me a coffee
No.5972 Alipay

Alipay

推进创文常态化 共建文明襄阳城 · 🄽🄾5️⃣9️⃣7️⃣2️⃣ · 做文明襄阳人 建文明襄阳城 凝聚文明正能量 筑梦千年古襄阳 · 🄽🄾5️⃣9️⃣7️⃣2️⃣ · 创建全国文明城市 加快建设汉江流域中心城市 · 🄽🄾5️⃣9️⃣7️⃣2️⃣ · 讲文明 树新风 · 🄽🄾5️⃣9️⃣7️⃣2️⃣ · 用微笑融化陌生 用文明美化襄阳 · 🄽🄾5️⃣9️⃣7️⃣2️⃣ · 争当文明使者 播撒文明新风