将wav转amr,并转换成hex数组
将wav文件快速转为amr,同时将arm文件转为16进制数组,保存在对应.h文件,供嵌入式设备使用(无文件系统产品(⊙o⊙)哦)
直接上代码
generate_audio_file.py
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
135
136
137
138
139
140
141
142
143
144
145
|
from __future__ import print_function from builtins import range import os import wave import struct import time import re import subprocess import binascii # eric 2020年7月10日 # wav文件转PCM数组 def get_wave_array_str(filename, target_bits): wave_read = wave. open (filename, "r" ) array_str = "// start\n\t" nchannels, sampwidth, framerate, nframes, comptype, compname = wave_read.getparams() sampwidth * = 8 for i in range (wave_read.getnframes()): val, = struct.unpack( "<H" , wave_read.readframes( 1 )) scale_val = ( 1 << target_bits) - 1 cur_lim = ( 1 << sampwidth) - 1 # scale current data to 8-bit data val = val * scale_val / cur_lim val = int (val + ((scale_val + 1 ) / / 2 )) & scale_val array_str + = "0x%02x, " % (val) if (i + 1 ) % 16 = = 0 : array_str + = "\n\t" return array_str # PCM 数组合并 def gen_wave_table(wav_file_list, target_file_name, scale_bits = 8 ): with open (target_file_name, "w" ) as audio_table: print ( '#include <stdio.h>' , file = audio_table) print ( "// time:{}" . format (time.strftime( '%Y-%m-%d %H:%M:%S' ,time.localtime(time.time()))), file = audio_table) print ( 'const unsigned char audio_table[] = {' , file = audio_table) for wav in wav_file_list: print ( "processing: {}" . format (wav)) print ( '//name:{}\n' . format (wav), file = audio_table) print (get_wave_array_str(filename = wav, target_bits = scale_bits), file = audio_table) print ( '};\n' , file = audio_table) print ( "Done..." ) # 获取wav文件信息 def get_wave_info(filename): wave_read = wave. open (filename, "r" ) nchannels, sampwidth, framerate, nframes, comptype, compname = wave_read.getparams() print ( 'nchannels:{}' . format (nchannels)) print ( 'sampwidth:{}' . format (sampwidth)) print ( 'framerate:{}Hz' . format (framerate)) print ( 'nframes:{}' . format (nframes)) print ( 'comptype:{}' . format (comptype)) print ( 'compname:{}' . format (compname)) return framerate # 二进制文件转数组 def file2array(filename,h_filename = None ): path, name = os.path.split(filename) if h_filename is None : h_filename = os.path.join(path, name.split( '.' )[ 0 ] + '.h' ) array_str = '\n//total len:{} bytes\n' . format (os.path.getsize(filename)) array_str + = 'const unsigned char ' + name.split( '.' )[ 0 ] + '[]={\n\t' # print(array_str) h_file = open (h_filename, "w" ) file = open (filename, 'rb' ) try : while True : chunk = file .read( 16 * 32 ) if not chunk: break for i in range ( len (chunk)): array_str + = "0x%02x, " % (chunk[i]) if (i + 1 ) % 16 = = 0 : array_str + = "\n\t" # print('get:{}'.format(binascii.b2a_hex(chunk))) except : print ( 'read ERR' ) finally : print ( 'read file done!' ) array_str + = '\n};\r\n' # print('array='+array_str) print (array_str, file = h_file) h_file.close() file .close() return 0 # ffmpeg路径 ffpeg_path = 'D:/Program Files (x86)/QveAudio/' # amr文件转MP3 def amr2mp3(amr_path,mp3_path = None ): path, name = os.path.split(amr_path) if name.split( '.' )[ - 1 ]! = 'amr' : print ( 'not a amr file' ) return 0 if mp3_path is None or mp3_path.split( '.' )[ - 1 ]! = 'mp3' : mp3_path = os.path.join(path, name.split( '.' )[ 0 ] + '.mp3' ) error = subprocess.call([ 'ffmpeg/bin/ffmpeg' , '-i' ,amr_path,mp3_path]) print ( 'ERR:' + error) if error: return 0 print ( 'success' ) return mp3_path # wav文件转amr,wav必须为8000Hz def wave2amr(wave_path,amr_path = None ): path, name = os.path.split(wave_path) if name.split( '.' )[ - 1 ]! = 'wav' : print ( 'not a wave file' ) return 0 if amr_path is None or amr_path.split( '.' )[ - 1 ]! = 'amr' : amr_path = os.path.join(path, name.split( '.' )[ 0 ] + '.amr' ) error = subprocess.call([ffpeg_path + 'ffmpeg' , '-i' ,wave_path, '-y' ,amr_path]) print ( 'ERR:{}' . format (error)) if error: return 0 print ( 'amr success' ) return amr_path # wav 格式化为8000Hz def wave2Hz8000(wave_path,out_path = None ): path, name = os.path.split(wave_path) if name.split( '.' )[ - 1 ]! = 'wav' : print ( 'not a wave file' ) return 0 if out_path is None or wave_path.split( '.' )[ - 1 ]! = 'wav' : out_path = os.path.join(path, name.split( '.' )[ 0 ] + '_8k.wav' ) # error = subprocess.call([ffpeg_path+'ffmpeg','-i',wave_path,'-ar','8000','-y',out_path]) error = subprocess.call(ffpeg_path + 'ffmpeg' + ' -i ' + wave_path + ' -ar 8000 -y ' + out_path) print ( 'ERR:{}' . format (error)) if error: return 0 print ( 'wav success' ) return out_path # 将目录下所有wav文件转为amr,并转为对应的数组文件 if __name__ = = '__main__' : print ( "Generating audio array..." ) # wav_list = [] for filename in os.listdir( "./" ): # print(os.getcwd()) if filename.endswith( ".wav" ): print ( 'src_name:' ,filename) framerate = get_wave_info(filename) if framerate ! = 8000 : print ( 'to 8000Hz' ) filename = wave2Hz8000(filename) amr_file = wave2amr(filename) if amr_file! = 0 : file2array(amr_file) # dst_name = "0_"+filename # print('dst_name:',filename) # os.rename(filename, dst_name) # wav_list.append(filename) # gen_wave_table(wav_file_list=wav_list, target_file_name="audio_example_file.h") |
以上代码实现的功能:
- 将当前目录下的所有wav文件,转为8kHz的wav
- 将对应的8kHz wav,转为amr
- 将对应的amr,转为hex数组,并保存在.h文件中
注意:音频的转换用的ffmpeg,使用前需确认对应的路径
1
|
ffpeg_path = 'D:/Program Files (x86)/QveAudio/' |
转换前文件:
执行generate_audio_file.py
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
|
E:\Users\eric\Desktop\tools2>generate_audio_file.py Generating audio array... src_name: sample_00.wav nchannels: 1 sampwidth: 2 framerate: 16000Hz nframes: 11541 comptype:NONE compname: not compressed to 8000Hz ffmpeg version N - 89672 - g41e51fbcd9 Copyright (c) 2000 - 2018 the FFmpeg developers built with gcc 7.2 . 0 (GCC) configuration: - - disable - static - - enable - shared - - enable - gpl - - enable - version3 - - enable - sdl2 - - enable - bzlib - - enable - fontconfig - - enable - gnutls - - enable - iconv - - enable - libass - - enable - libbluray - - enable - libfreetype - - enable - libmp3lame - - enable - libopencore - amrnb - - enable - libopencore - amrwb - - enable - libopenjpeg - - enable - libopus - - enable - libshine - - enable - libsnappy - - enable - libsoxr - - enable - libtheora - - enable - libtwolame - - enable - libvpx - - enable - libwavpack - - enable - libwebp - - enable - libx264 - - enable - libx265 - - enable - libxml2 - - enable - libzimg - - enable - lzma - - enable - zlib - - enable - gmp - - enable - libvidstab - - enable - libvorbis - - enable - libvo - amrwbenc - - enable - libmysofa - - enable - libspeex - - enable - amf - - enable - cuda - - enable - cuvid - - enable - d3d11va - - enable - nvenc - - enable - dxva2 - - enable - avisynth - - enable - libmfx libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 3.100 / 58. 3.100 libavdevice 58. 0.100 / 58. 0.100 libavfilter 7. 8.100 / 7. 8.100 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 Guessed Channel Layout for Input Stream #0.0 : mono Input #0, wav, from 'sample_00.wav': Duration: 00 : 00 : 00.72 , bitrate: 256 kb / s Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'sample_00_8k.wav': Metadata: ISFT : Lavf58. 3.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s Metadata: encoder : Lavc58. 9.100 pcm_s16le size = 11kB time = 00 : 00 : 00.72 bitrate = 128.9kbits / s speed = 103x video: 0kB audio: 11kB subtitle: 0kB other streams: 0kB global headers: 0kB muxing overhead: 0.675793 % ERR: 0 wav success ffmpeg version N - 89672 - g41e51fbcd9 Copyright (c) 2000 - 2018 the FFmpeg developers built with gcc 7.2 . 0 (GCC) configuration: - - disable - static - - enable - shared - - enable - gpl - - enable - version3 - - enable - sdl2 - - enable - bzlib - - enable - fontconfig - - enable - gnutls - - enable - iconv - - enable - libass - - enable - libbluray - - enable - libfreetype - - enable - libmp3lame - - enable - libopencore - amrnb - - enable - libopencore - amrwb - - enable - libopenjpeg - - enable - libopus - - enable - libshine - - enable - libsnappy - - enable - libsoxr - - enable - libtheora - - enable - libtwolame - - enable - libvpx - - enable - libwavpack - - enable - libwebp - - enable - libx264 - - enable - libx265 - - enable - libxml2 - - enable - libzimg - - enable - lzma - - enable - zlib - - enable - gmp - - enable - libvidstab - - enable - libvorbis - - enable - libvo - amrwbenc - - enable - libmysofa - - enable - libspeex - - enable - amf - - enable - cuda - - enable - cuvid - - enable - d3d11va - - enable - nvenc - - enable - dxva2 - - enable - avisynth - - enable - libmfx libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 3.100 / 58. 3.100 libavdevice 58. 0.100 / 58. 0.100 libavfilter 7. 8.100 / 7. 8.100 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 Guessed Channel Layout for Input Stream #0.0 : mono Input #0, wav, from 'sample_00_8k.wav': Metadata: encoder : Lavf58. 3.100 Duration: 00 : 00 : 00.72 , bitrate: 128 kb / s Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le (native) -> amr_nb (libopencore_amrnb)) Press [q] to stop, [?] for help [libopencore_amrnb @ 043f2d80 ] bitrate not supported: use one of 4.75k , 5.15k , 5.90k , 6.70k , 7.40k , 7.95k , 10.20k , 12.20k , using 12.20k Output #0, amr, to 'sample_00_8k.amr': Metadata: encoder : Lavf58. 3.100 Stream #0:0: Audio: amr_nb (libopencore_amrnb), 8000 Hz, mono, s16, 128 kb/s Metadata: encoder : Lavc58. 9.100 libopencore_amrnb size = 1kB time = 00 : 00 : 00.73 bitrate = 13.0kbits / s speed = 105x video: 0kB audio: 1kB subtitle: 0kB other streams: 0kB global headers: 0kB muxing overhead: 0.506757 % ERR: 0 amr success read file done! src_name: sample_00_8k.wav nchannels: 1 sampwidth: 2 framerate: 8000Hz nframes: 5771 comptype:NONE compname: not compressed ffmpeg version N - 89672 - g41e51fbcd9 Copyright (c) 2000 - 2018 the FFmpeg developers built with gcc 7.2 . 0 (GCC) configuration: - - disable - static - - enable - shared - - enable - gpl - - enable - version3 - - enable - sdl2 - - enable - bzlib - - enable - fontconfig - - enable - gnutls - - enable - iconv - - enable - libass - - enable - libbluray - - enable - libfreetype - - enable - libmp3lame - - enable - libopencore - amrnb - - enable - libopencore - amrwb - - enable - libopenjpeg - - enable - libopus - - enable - libshine - - enable - libsnappy - - enable - libsoxr - - enable - libtheora - - enable - libtwolame - - enable - libvpx - - enable - libwavpack - - enable - libwebp - - enable - libx264 - - enable - libx265 - - enable - libxml2 - - enable - libzimg - - enable - lzma - - enable - zlib - - enable - gmp - - enable - libvidstab - - enable - libvorbis - - enable - libvo - amrwbenc - - enable - libmysofa - - enable - libspeex - - enable - amf - - enable - cuda - - enable - cuvid - - enable - d3d11va - - enable - nvenc - - enable - dxva2 - - enable - avisynth - - enable - libmfx libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 3.100 / 58. 3.100 libavdevice 58. 0.100 / 58. 0.100 libavfilter 7. 8.100 / 7. 8.100 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 Guessed Channel Layout for Input Stream #0.0 : mono Input #0, wav, from 'sample_00_8k.wav': Metadata: encoder : Lavf58. 3.100 Duration: 00 : 00 : 00.72 , bitrate: 128 kb / s Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le (native) -> amr_nb (libopencore_amrnb)) Press [q] to stop, [?] for help [libopencore_amrnb @ 03a02d80 ] bitrate not supported: use one of 4.75k , 5.15k , 5.90k , 6.70k , 7.40k , 7.95k , 10.20k , 12.20k , using 12.20k Output #0, amr, to 'sample_00_8k.amr': Metadata: encoder : Lavf58. 3.100 Stream #0:0: Audio: amr_nb (libopencore_amrnb), 8000 Hz, mono, s16, 128 kb/s Metadata: encoder : Lavc58. 9.100 libopencore_amrnb size = 1kB time = 00 : 00 : 00.73 bitrate = 13.0kbits / s speed = 16.4x video: 0kB audio: 1kB subtitle: 0kB other streams: 0kB global headers: 0kB muxing overhead: 0.506757 % ERR: 0 amr success read file done! src_name: sample_01.wav nchannels: 1 sampwidth: 2 framerate: 16000Hz nframes: 16904 comptype:NONE compname: not compressed to 8000Hz ffmpeg version N - 89672 - g41e51fbcd9 Copyright (c) 2000 - 2018 the FFmpeg developers built with gcc 7.2 . 0 (GCC) configuration: - - disable - static - - enable - shared - - enable - gpl - - enable - version3 - - enable - sdl2 - - enable - bzlib - - enable - fontconfig - - enable - gnutls - - enable - iconv - - enable - libass - - enable - libbluray - - enable - libfreetype - - enable - libmp3lame - - enable - libopencore - amrnb - - enable - libopencore - amrwb - - enable - libopenjpeg - - enable - libopus - - enable - libshine - - enable - libsnappy - - enable - libsoxr - - enable - libtheora - - enable - libtwolame - - enable - libvpx - - enable - libwavpack - - enable - libwebp - - enable - libx264 - - enable - libx265 - - enable - libxml2 - - enable - libzimg - - enable - lzma - - enable - zlib - - enable - gmp - - enable - libvidstab - - enable - libvorbis - - enable - libvo - amrwbenc - - enable - libmysofa - - enable - libspeex - - enable - amf - - enable - cuda - - enable - cuvid - - enable - d3d11va - - enable - nvenc - - enable - dxva2 - - enable - avisynth - - enable - libmfx libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 3.100 / 58. 3.100 libavdevice 58. 0.100 / 58. 0.100 libavfilter 7. 8.100 / 7. 8.100 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 Guessed Channel Layout for Input Stream #0.0 : mono Input #0, wav, from 'sample_01.wav': Duration: 00 : 00 : 01.06 , bitrate: 256 kb / s Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'sample_01_8k.wav': Metadata: ISFT : Lavf58. 3.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s Metadata: encoder : Lavc58. 9.100 pcm_s16le size = 17kB time = 00 : 00 : 01.05 bitrate = 128.6kbits / s speed = 44.1x video: 0kB audio: 17kB subtitle: 0kB other streams: 0kB global headers: 0kB muxing overhead: 0.461429 % ERR: 0 wav success ffmpeg version N - 89672 - g41e51fbcd9 Copyright (c) 2000 - 2018 the FFmpeg developers built with gcc 7.2 . 0 (GCC) configuration: - - disable - static - - enable - shared - - enable - gpl - - enable - version3 - - enable - sdl2 - - enable - bzlib - - enable - fontconfig - - enable - gnutls - - enable - iconv - - enable - libass - - enable - libbluray - - enable - libfreetype - - enable - libmp3lame - - enable - libopencore - amrnb - - enable - libopencore - amrwb - - enable - libopenjpeg - - enable - libopus - - enable - libshine - - enable - libsnappy - - enable - libsoxr - - enable - libtheora - - enable - libtwolame - - enable - libvpx - - enable - libwavpack - - enable - libwebp - - enable - libx264 - - enable - libx265 - - enable - libxml2 - - enable - libzimg - - enable - lzma - - enable - zlib - - enable - gmp - - enable - libvidstab - - enable - libvorbis - - enable - libvo - amrwbenc - - enable - libmysofa - - enable - libspeex - - enable - amf - - enable - cuda - - enable - cuvid - - enable - d3d11va - - enable - nvenc - - enable - dxva2 - - enable - avisynth - - enable - libmfx libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 3.100 / 58. 3.100 libavdevice 58. 0.100 / 58. 0.100 libavfilter 7. 8.100 / 7. 8.100 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 Guessed Channel Layout for Input Stream #0.0 : mono Input #0, wav, from 'sample_01_8k.wav': Metadata: encoder : Lavf58. 3.100 Duration: 00 : 00 : 01.06 , bitrate: 128 kb / s Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le (native) -> amr_nb (libopencore_amrnb)) Press [q] to stop, [?] for help [libopencore_amrnb @ 037c1ec0 ] bitrate not supported: use one of 4.75k , 5.15k , 5.90k , 6.70k , 7.40k , 7.95k , 10.20k , 12.20k , using 12.20k Output #0, amr, to 'sample_01_8k.amr': Metadata: encoder : Lavf58. 3.100 Stream #0:0: Audio: amr_nb (libopencore_amrnb), 8000 Hz, mono, s16, 128 kb/s Metadata: encoder : Lavc58. 9.100 libopencore_amrnb size = 2kB time = 00 : 00 : 01.07 bitrate = 12.9kbits / s speed = 43x video: 0kB audio: 2kB subtitle: 0kB other streams: 0kB global headers: 0kB muxing overhead: 0.347222 % ERR: 0 amr success read file done! src_name: sample_01_8k.wav nchannels: 1 sampwidth: 2 framerate: 8000Hz nframes: 8452 comptype:NONE compname: not compressed ffmpeg version N - 89672 - g41e51fbcd9 Copyright (c) 2000 - 2018 the FFmpeg developers built with gcc 7.2 . 0 (GCC) configuration: - - disable - static - - enable - shared - - enable - gpl - - enable - version3 - - enable - sdl2 - - enable - bzlib - - enable - fontconfig - - enable - gnutls - - enable - iconv - - enable - libass - - enable - libbluray - - enable - libfreetype - - enable - libmp3lame - - enable - libopencore - amrnb - - enable - libopencore - amrwb - - enable - libopenjpeg - - enable - libopus - - enable - libshine - - enable - libsnappy - - enable - libsoxr - - enable - libtheora - - enable - libtwolame - - enable - libvpx - - enable - libwavpack - - enable - libwebp - - enable - libx264 - - enable - libx265 - - enable - libxml2 - - enable - libzimg - - enable - lzma - - enable - zlib - - enable - gmp - - enable - libvidstab - - enable - libvorbis - - enable - libvo - amrwbenc - - enable - libmysofa - - enable - libspeex - - enable - amf - - enable - cuda - - enable - cuvid - - enable - d3d11va - - enable - nvenc - - enable - dxva2 - - enable - avisynth - - enable - libmfx libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 3.100 / 58. 3.100 libavdevice 58. 0.100 / 58. 0.100 libavfilter 7. 8.100 / 7. 8.100 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 Guessed Channel Layout for Input Stream #0.0 : mono Input #0, wav, from 'sample_01_8k.wav': Metadata: encoder : Lavf58. 3.100 Duration: 00 : 00 : 01.06 , bitrate: 128 kb / s Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le (native) -> amr_nb (libopencore_amrnb)) Press [q] to stop, [?] for help [libopencore_amrnb @ 03b81ec0 ] bitrate not supported: use one of 4.75k , 5.15k , 5.90k , 6.70k , 7.40k , 7.95k , 10.20k , 12.20k , using 12.20k Output #0, amr, to 'sample_01_8k.amr': Metadata: encoder : Lavf58. 3.100 Stream #0:0: Audio: amr_nb (libopencore_amrnb), 8000 Hz, mono, s16, 128 kb/s Metadata: encoder : Lavc58. 9.100 libopencore_amrnb size = 2kB time = 00 : 00 : 01.07 bitrate = 12.9kbits / s speed = 38.5x video: 0kB audio: 2kB subtitle: 0kB other streams: 0kB global headers: 0kB muxing overhead: 0.347222 % ERR: 0 amr success read file done! src_name: sample_02.wav nchannels: 1 sampwidth: 2 framerate: 16000Hz nframes: 51067 comptype:NONE compname: not compressed to 8000Hz ffmpeg version N - 89672 - g41e51fbcd9 Copyright (c) 2000 - 2018 the FFmpeg developers built with gcc 7.2 . 0 (GCC) configuration: - - disable - static - - enable - shared - - enable - gpl - - enable - version3 - - enable - sdl2 - - enable - bzlib - - enable - fontconfig - - enable - gnutls - - enable - iconv - - enable - libass - - enable - libbluray - - enable - libfreetype - - enable - libmp3lame - - enable - libopencore - amrnb - - enable - libopencore - amrwb - - enable - libopenjpeg - - enable - libopus - - enable - libshine - - enable - libsnappy - - enable - libsoxr - - enable - libtheora - - enable - libtwolame - - enable - libvpx - - enable - libwavpack - - enable - libwebp - - enable - libx264 - - enable - libx265 - - enable - libxml2 - - enable - libzimg - - enable - lzma - - enable - zlib - - enable - gmp - - enable - libvidstab - - enable - libvorbis - - enable - libvo - amrwbenc - - enable - libmysofa - - enable - libspeex - - enable - amf - - enable - cuda - - enable - cuvid - - enable - d3d11va - - enable - nvenc - - enable - dxva2 - - enable - avisynth - - enable - libmfx libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 3.100 / 58. 3.100 libavdevice 58. 0.100 / 58. 0.100 libavfilter 7. 8.100 / 7. 8.100 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 Guessed Channel Layout for Input Stream #0.0 : mono Input #0, wav, from 'sample_02.wav': Duration: 00 : 00 : 03.19 , bitrate: 256 kb / s Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'sample_02_8k.wav': Metadata: ISFT : Lavf58. 3.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s Metadata: encoder : Lavc58. 9.100 pcm_s16le size = 50kB time = 00 : 00 : 03.19 bitrate = 128.2kbits / s speed = 457x video: 0kB audio: 50kB subtitle: 0kB other streams: 0kB global headers: 0kB muxing overhead: 0.152738 % ERR: 0 wav success ffmpeg version N - 89672 - g41e51fbcd9 Copyright (c) 2000 - 2018 the FFmpeg developers built with gcc 7.2 . 0 (GCC) configuration: - - disable - static - - enable - shared - - enable - gpl - - enable - version3 - - enable - sdl2 - - enable - bzlib - - enable - fontconfig - - enable - gnutls - - enable - iconv - - enable - libass - - enable - libbluray - - enable - libfreetype - - enable - libmp3lame - - enable - libopencore - amrnb - - enable - libopencore - amrwb - - enable - libopenjpeg - - enable - libopus - - enable - libshine - - enable - libsnappy - - enable - libsoxr - - enable - libtheora - - enable - libtwolame - - enable - libvpx - - enable - libwavpack - - enable - libwebp - - enable - libx264 - - enable - libx265 - - enable - libxml2 - - enable - libzimg - - enable - lzma - - enable - zlib - - enable - gmp - - enable - libvidstab - - enable - libvorbis - - enable - libvo - amrwbenc - - enable - libmysofa - - enable - libspeex - - enable - amf - - enable - cuda - - enable - cuvid - - enable - d3d11va - - enable - nvenc - - enable - dxva2 - - enable - avisynth - - enable - libmfx libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 3.100 / 58. 3.100 libavdevice 58. 0.100 / 58. 0.100 libavfilter 7. 8.100 / 7. 8.100 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 Guessed Channel Layout for Input Stream #0.0 : mono Input #0, wav, from 'sample_02_8k.wav': Metadata: encoder : Lavf58. 3.100 Duration: 00 : 00 : 03.19 , bitrate: 128 kb / s Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le (native) -> amr_nb (libopencore_amrnb)) Press [q] to stop, [?] for help [libopencore_amrnb @ 03f50900 ] bitrate not supported: use one of 4.75k , 5.15k , 5.90k , 6.70k , 7.40k , 7.95k , 10.20k , 12.20k , using 12.20k Output #0, amr, to 'sample_02_8k.amr': Metadata: encoder : Lavf58. 3.100 Stream #0:0: Audio: amr_nb (libopencore_amrnb), 8000 Hz, mono, s16, 128 kb/s Metadata: encoder : Lavc58. 9.100 libopencore_amrnb size = 5kB time = 00 : 00 : 03.19 bitrate = 12.8kbits / s speed = 160x video: 0kB audio: 5kB subtitle: 0kB other streams: 0kB global headers: 0kB muxing overhead: 0.117188 % ERR: 0 amr success read file done! src_name: sample_02_8k.wav nchannels: 1 sampwidth: 2 framerate: 8000Hz nframes: 25534 comptype:NONE compname: not compressed ffmpeg version N - 89672 - g41e51fbcd9 Copyright (c) 2000 - 2018 the FFmpeg developers built with gcc 7.2 . 0 (GCC) configuration: - - disable - static - - enable - shared - - enable - gpl - - enable - version3 - - enable - sdl2 - - enable - bzlib - - enable - fontconfig - - enable - gnutls - - enable - iconv - - enable - libass - - enable - libbluray - - enable - libfreetype - - enable - libmp3lame - - enable - libopencore - amrnb - - enable - libopencore - amrwb - - enable - libopenjpeg - - enable - libopus - - enable - libshine - - enable - libsnappy - - enable - libsoxr - - enable - libtheora - - enable - libtwolame - - enable - libvpx - - enable - libwavpack - - enable - libwebp - - enable - libx264 - - enable - libx265 - - enable - libxml2 - - enable - libzimg - - enable - lzma - - enable - zlib - - enable - gmp - - enable - libvidstab - - enable - libvorbis - - enable - libvo - amrwbenc - - enable - libmysofa - - enable - libspeex - - enable - amf - - enable - cuda - - enable - cuvid - - enable - d3d11va - - enable - nvenc - - enable - dxva2 - - enable - avisynth - - enable - libmfx libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 3.100 / 58. 3.100 libavdevice 58. 0.100 / 58. 0.100 libavfilter 7. 8.100 / 7. 8.100 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 Guessed Channel Layout for Input Stream #0.0 : mono Input #0, wav, from 'sample_02_8k.wav': Metadata: encoder : Lavf58. 3.100 Duration: 00 : 00 : 03.19 , bitrate: 128 kb / s Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le (native) -> amr_nb (libopencore_amrnb)) Press [q] to stop, [?] for help [libopencore_amrnb @ 039b0900 ] bitrate not supported: use one of 4.75k , 5.15k , 5.90k , 6.70k , 7.40k , 7.95k , 10.20k , 12.20k , using 12.20k Output #0, amr, to 'sample_02_8k.amr': Metadata: encoder : Lavf58. 3.100 Stream #0:0: Audio: amr_nb (libopencore_amrnb), 8000 Hz, mono, s16, 128 kb/s Metadata: encoder : Lavc58. 9.100 libopencore_amrnb size = 5kB time = 00 : 00 : 03.19 bitrate = 12.8kbits / s speed = 146x video: 0kB audio: 5kB subtitle: 0kB other streams: 0kB global headers: 0kB muxing overhead: 0.117188 % ERR: 0 amr success read file done! E:\Users\eric\Desktop\tools2> |
已经生成对应的.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
|
/ / total len : 1190 bytes const unsigned char sample_00_8k[] = { 0x23 , 0x21 , 0x41 , 0x4d , 0x52 , 0x0a , 0x3c , 0xb9 , 0xd9 , 0x71 , 0x28 , 0xb8 , 0x63 , 0xc1 , 0xac , 0xec , 0xc9 , 0xe1 , 0xc6 , 0x66 , 0x47 , 0x23 , 0x00 , 0x00 , 0x4b , 0xf1 , 0x20 , 0xf1 , 0x15 , 0x5c , 0x00 , 0x03 , 0x6d , 0x50 , 0x30 , 0xb8 , 0x36 , 0x10 , 0x3c , 0xbc , 0xed , 0x93 , 0x5e , 0xb6 , 0xc6 , 0x8a , 0xfe , 0x87 , 0x94 , 0xfb , 0xd6 , 0x6e , 0x86 , 0x0c , 0x46 , 0xe7 , 0x4d , 0x98 , 0x54 , 0xf2 , 0x1c , 0xd7 , 0xe5 , 0xbf , 0x93 , 0x46 , 0x87 , 0x0e , 0x7f , 0x90 , 0x3c , 0xbf , 0xd9 , 0x67 , 0x2a , 0xcb , 0x4d , 0x15 , 0xbe , 0x1e , 0xdf , 0xc5 , 0x96 , 0xa9 , 0xd5 , 0x3b , 0x86 , 0x44 , 0xd5 , 0x9d , 0xdd , 0xf5 , 0x16 , 0x3d , 0x1e , 0x29 , 0x33 , 0x97 , 0xc5 , 0x81 , 0x0f , 0xe0 , 0x3c , 0xb0 , 0xf0 , 0x1d , 0xe8 , 0x4c , 0x78 , 0x05 , 0xde , 0x0d , 0x54 , 0x41 , 0x7d , 0xb1 , 0x39 , 0x04 , 0x56 , 0x22 , 0xdf , 0x99 , 0x98 , 0x02 , 0xe3 , 0x7a , 0x0f , 0xf7 , 0x96 , 0x76 , 0xf6 , 0x0a , 0x81 , 0x40 , 0x3c , 0x78 , 0xf0 , 0x29 , 0x0f , 0xf0 , 0x62 , 0x1c , 0x3f , 0x0d , 0x2a , 0xb2 , 0x33 , 0x52 , 0x36 , 0xc4 , 0xf5 , 0x06 , 0x8e , 0x77 , 0x18 , 0xe2 , 0x27 , 0xe7 , 0xfa , 0x49 , 0x56 , 0xac , 0x49 , 0x7d , 0x8b , 0x60 , 0x3c , 0xb0 , 0xea , 0x13 , 0x15 , 0x74 , 0xcc , 0x02 , 0x5e , 0x01 , 0x92 , 0x4a , 0xe2 , 0xfa , 0x60 , 0x55 , 0x11 , 0x58 , 0xe0 , 0x02 , 0x2f , 0x46 , 0x4b , 0xac , 0xe8 , 0x71 , 0x40 , 0xa1 , 0xc5 , 0xfb , 0x18 , 0x60 , 0x3c , 0xb4 , 0xf5 , 0x25 , 0x40 , 0x62 , 0x74 , 0x0a , 0x5e , 0x00 , 0xc9 , 0xcc , 0xff , 0x98 , 0x62 , 0x21 , 0xda , 0x3a , 0x3a , 0x5d , 0xc8 , 0x2b , 0xed , 0x5f , 0xd2 , 0xd0 , 0xc9 , 0x36 , 0x1e , 0x75 , 0x10 , 0x80 , 0x3c , 0x9a , 0xf0 , 0x27 , 0x14 , 0x74 , 0x83 , 0x0c , 0x5e , 0x15 , 0xd3 , 0x36 , 0x99 , 0xde , 0x4f , 0x39 , 0x1c , 0x0d , 0xae , 0xde , 0x6e , 0x89 , 0x8f , 0x5f , 0xa2 , 0x34 , 0x9c , 0xdc , 0x95 , 0x90 , 0xbf , 0x40 , 0x3c , 0xa6 , 0xfc , 0x78 , 0x1a , 0xb9 , 0x4c , 0x45 , 0xbe , 0x16 , 0xf6 , 0x2d , 0x95 , 0x9c , 0xfc , 0xe9 , 0xa7 , 0x04 , 0x86 , 0x6f , 0x06 , 0x3d , 0xc8 , 0x3c , 0x2f , 0x77 , 0x90 , 0x2e , 0x31 , 0x6c , 0x7b , 0xf0 , 0x3c , 0x7b , 0x42 , 0x27 , 0x15 , 0x22 , 0xbd , 0x55 , 0x9e , 0x16 , 0xd5 , 0x80 , 0xbd , 0x7b , 0xe0 , 0x4c , 0x61 , 0xde , 0xed , 0x64 , 0x01 , 0x82 , 0xde , 0x3e , 0x81 , 0x68 , 0x1c , 0x0f , 0x7f , 0xdf , 0xcf , 0x00 , 0x3c , 0xbd , 0x32 , 0x21 , 0x10 , 0x58 , 0x6d , 0x44 , 0x5f , 0x07 , 0x3c , 0x61 , 0x66 , 0x20 , 0x4a , 0xa6 , 0x25 , 0x14 , 0xa8 , 0x44 , 0x1f , 0x7f , 0x00 , 0x27 , 0xa3 , 0xfb , 0x19 , 0x49 , 0xa4 , 0x01 , 0x21 , 0xe0 , 0x3c , 0x7b , 0x33 , 0x7f , 0x1d , 0x82 , 0x8e , 0x5e , 0x5f , 0x24 , 0xf7 , 0x20 , 0x3a , 0xa1 , 0x5d , 0x83 , 0xc1 , 0x92 , 0x47 , 0xbc , 0x93 , 0x37 , 0xae , 0x42 , 0xd3 , 0x00 , 0xe1 , 0xfb , 0xcb , 0xe2 , 0x07 , 0x80 , 0x3c , 0xbd , 0x2e , 0x64 , 0x13 , 0xbd , 0xba , 0x01 , 0x7e , 0x08 , 0xb2 , 0xb4 , 0xce , 0x77 , 0x8d , 0xa6 , 0x04 , 0x0b , 0x94 , 0x06 , 0x32 , 0x0b , 0x42 , 0xa9 , 0x8a , 0x02 , 0xa8 , 0x3a , 0xb5 , 0xa9 , 0xf4 , 0x10 , 0x3c , 0xb3 , 0x22 , 0x74 , 0x1f , 0x75 , 0xa1 , 0x19 , 0xdf , 0x15 , 0x8c , 0x71 , 0x31 , 0x82 , 0xdd , 0xe0 , 0x3f , 0x02 , 0xbb , 0x8a , 0x3c , 0xab , 0x82 , 0x5d , 0xb4 , 0xbf , 0x46 , 0x3c , 0x8e , 0x67 , 0x6b , 0x20 , 0x3c , 0xab , 0xcf , 0x5f , 0x16 , 0xea , 0x7b , 0x12 , 0xbe , 0x39 , 0x2c , 0xa4 , 0x23 , 0xab , 0xab , 0x2d , 0x4c , 0xc5 , 0x47 , 0xd8 , 0x92 , 0x57 , 0x13 , 0xc9 , 0x9d , 0xda , 0xc9 , 0x56 , 0x0c , 0x0d , 0x76 , 0xa0 , 0x3c , 0x6d , 0x26 , 0x6a , 0x26 , 0x4a , 0x80 , 0x1b , 0x7e , 0x21 , 0xe9 , 0x72 , 0x16 , 0x01 , 0xfe , 0xf5 , 0x9c , 0x3a , 0x2c , 0x0e , 0x55 , 0xc2 , 0x20 , 0x4c , 0x69 , 0xa0 , 0xb0 , 0x72 , 0x1f , 0x08 , 0xa1 , 0x80 , 0x3c , 0xb1 , 0xce , 0x79 , 0x1f , 0x76 , 0x99 , 0x17 , 0x5e , 0x1d , 0x81 , 0x11 , 0xd1 , 0xed , 0xb3 , 0x18 , 0x1a , 0x6f , 0x4b , 0xbe , 0x39 , 0xa6 , 0x2f , 0xbd , 0xd3 , 0xc3 , 0x05 , 0x00 , 0xff , 0x5f , 0x66 , 0x80 , 0x3c , 0xb5 , 0x33 , 0x64 , 0x75 , 0xfd , 0x30 , 0x03 , 0x5e , 0x13 , 0x38 , 0xfc , 0xd8 , 0xd8 , 0xb5 , 0xdb , 0xe0 , 0x91 , 0x56 , 0xdd , 0xa0 , 0xa8 , 0x83 , 0x78 , 0x39 , 0x21 , 0x4e , 0x75 , 0xa1 , 0x16 , 0x38 , 0x90 , 0x3c , 0x95 , 0x33 , 0x66 , 0x19 , 0x72 , 0xf0 , 0x0a , 0x7e , 0x09 , 0x6a , 0x97 , 0x92 , 0x9d , 0xd2 , 0xf5 , 0x62 , 0x5e , 0x84 , 0x31 , 0xa3 , 0x2a , 0x41 , 0x1a , 0x52 , 0x3e , 0xb0 , 0x00 , 0xc4 , 0x63 , 0xfc , 0xf0 , 0x3c , 0x59 , 0x33 , 0x63 , 0x77 , 0xf4 , 0xde , 0x09 , 0x7e , 0x01 , 0x00 , 0xdc , 0xa5 , 0xe9 , 0xfa , 0x44 , 0xc3 , 0x1e , 0x1f , 0x19 , 0x30 , 0xc5 , 0x60 , 0xbd , 0xe2 , 0x9c , 0x03 , 0xdc , 0x22 , 0xab , 0x72 , 0x80 , 0x3c , 0xbf , 0x01 , 0x7f , 0x18 , 0x0d , 0x08 , 0x00 , 0x5c , 0xa6 , 0x6e , 0x11 , 0xdd , 0x89 , 0xcb , 0x6d , 0x5b , 0x7b , 0x3a , 0xea , 0x28 , 0x39 , 0x80 , 0x0e , 0x01 , 0xdf , 0xbe , 0x91 , 0xa7 , 0x25 , 0x58 , 0x20 , 0x3c , 0x89 , 0x2d , 0x63 , 0x17 , 0xe9 , 0xba , 0xb4 , 0x1f , 0x16 , 0x82 , 0x8d , 0x25 , 0xf8 , 0x2c , 0x75 , 0xa3 , 0xf0 , 0xbf , 0xec , 0x31 , 0xe9 , 0x8b , 0xa5 , 0xa0 , 0xef , 0x45 , 0x55 , 0x54 , 0xa1 , 0x51 , 0xb0 , 0x3c , 0xb9 , 0x2c , 0xd6 , 0x5e , 0xeb , 0x04 , 0x04 , 0x1e , 0x09 , 0x94 , 0xcd , 0x57 , 0x07 , 0x82 , 0x6b , 0xbf , 0xc5 , 0x93 , 0x51 , 0xcc , 0x7f , 0x15 , 0x96 , 0x0e , 0x50 , 0x81 , 0xde , 0x79 , 0xfd , 0xe0 , 0x10 , 0x3c , 0x71 , 0x32 , 0x1d , 0x5a , 0xba , 0x40 , 0x40 , 0x36 , 0x9e , 0x94 , 0xf2 , 0x0c , 0xcf , 0x0f , 0x46 , 0xbd , 0xdf , 0x6c , 0x26 , 0xa9 , 0xaf , 0x87 , 0xc6 , 0x5b , 0xa8 , 0x10 , 0x13 , 0x25 , 0x6a , 0x7a , 0x20 , 0x3c , 0xb9 , 0x32 , 0xdc , 0x65 , 0x79 , 0xd8 , 0x19 , 0x2f , 0x1c , 0x7e , 0x5c , 0x60 , 0x91 , 0xad , 0xb2 , 0xe2 , 0x06 , 0x3c , 0xfd , 0x17 , 0xd1 , 0xa6 , 0xa9 , 0x82 , 0x77 , 0xa4 , 0x87 , 0xf2 , 0xb6 , 0x83 , 0xd0 , 0x3c , 0x95 , 0x32 , 0x17 , 0x67 , 0xf9 , 0x29 , 0x9f , 0x1e , 0x12 , 0xd1 , 0xbb , 0x74 , 0x77 , 0x07 , 0x4b , 0x57 , 0x1a , 0xd8 , 0x9b , 0xdd , 0x77 , 0xa4 , 0x45 , 0x85 , 0x13 , 0x34 , 0x5e , 0x07 , 0x21 , 0x99 , 0x40 , 0x3c , 0x8e , 0xea , 0x14 , 0x66 , 0xac , 0x28 , 0x25 , 0x96 , 0xc8 , 0x8b , 0x0c , 0x05 , 0xc2 , 0xd3 , 0xc6 , 0xd8 , 0x8f , 0x22 , 0x65 , 0xc0 , 0xa3 , 0xca , 0xd5 , 0xda , 0xac , 0xd5 , 0xab , 0x17 , 0x60 , 0x08 , 0x50 , 0x3c , 0x9a , 0x71 , 0x91 , 0x5e , 0x07 , 0x70 , 0x11 , 0x0b , 0x5d , 0x8d , 0x72 , 0x50 , 0xff , 0xd7 , 0x5a , 0x64 , 0xc9 , 0x99 , 0x08 , 0xb4 , 0x6a , 0xbd , 0x31 , 0x5e , 0x7e , 0x93 , 0x51 , 0x42 , 0xbf , 0x4c , 0x40 , 0x3c , 0xdf , 0x2c , 0x1d , 0x2a , 0xb8 , 0xbe , 0x84 , 0xdc , 0x23 , 0x39 , 0x1a , 0x12 , 0x54 , 0x46 , 0x37 , 0x33 , 0xc2 , 0xa4 , 0x33 , 0xac , 0x80 , 0x70 , 0x4e , 0x0b , 0xdb , 0xb0 , 0xff , 0x3f , 0x71 , 0x32 , 0x70 , 0x3c , 0xb4 , 0x70 , 0x1d , 0x5e , 0xab , 0x0e , 0x02 , 0xd4 , 0xaa , 0xd5 , 0x4c , 0x8d , 0x2c , 0xf7 , 0x11 , 0x45 , 0x28 , 0x91 , 0xe9 , 0x58 , 0xd8 , 0x42 , 0xda , 0xe8 , 0x36 , 0x44 , 0x0a , 0x41 , 0xf6 , 0xea , 0xb0 , 0x3c , 0x59 , 0x2c , 0x68 , 0x94 , 0x70 , 0x89 , 0x45 , 0x34 , 0xaa , 0x87 , 0x0c , 0xe8 , 0x5d , 0xd1 , 0xc3 , 0x25 , 0xb8 , 0x85 , 0x67 , 0x90 , 0xdd , 0x84 , 0x70 , 0xd0 , 0x48 , 0xd5 , 0xd0 , 0x7a , 0xad , 0x7a , 0xb0 , 0x3c , 0xb6 , 0xec , 0x1f , 0x0f , 0x75 , 0xe4 , 0x2a , 0x3a , 0x47 , 0x23 , 0x13 , 0xf7 , 0x02 , 0x84 , 0x03 , 0x17 , 0x42 , 0xe7 , 0x72 , 0x21 , 0x5e , 0xc8 , 0x03 , 0x5c , 0x80 , 0x49 , 0x89 , 0x28 , 0x80 , 0x70 , 0x30 , 0x3c , 0x55 , 0x32 , 0x69 , 0x43 , 0xa9 , 0xcc , 0x01 , 0x14 , 0xab , 0x83 , 0x2c , 0xf3 , 0x5d , 0xcf , 0xe3 , 0x14 , 0x39 , 0xb3 , 0x69 , 0x1f , 0xee , 0xe8 , 0xf1 , 0xd2 , 0x9c , 0x96 , 0x2d , 0x80 , 0x3c , 0xa6 , 0x20 , 0x3c , 0x42 , 0xf3 , 0x97 , 0x22 , 0xaa , 0x72 , 0x11 , 0x10 , 0xee , 0xd8 , 0xb6 , 0x3b , 0x0c , 0x72 , 0xed , 0xf7 , 0xc2 , 0xbc , 0xbc , 0x3a , 0xbc , 0xe5 , 0x64 , 0x9b , 0xc6 , 0x51 , 0xe8 , 0xba , 0x7b , 0xcc , 0xc0 , 0x3c , 0x91 , 0x32 , 0x23 , 0x08 , 0x58 , 0x06 , 0x1c , 0xfc , 0x21 , 0xad , 0xba , 0xa7 , 0x00 , 0x1f , 0xcf , 0xf2 , 0x88 , 0x21 , 0xe7 , 0xe9 , 0x62 , 0xe6 , 0x5c , 0xcd , 0x78 , 0xa7 , 0x39 , 0x83 , 0x5d , 0xf8 , 0xa0 , 0x3c , 0x95 , 0x28 , 0x69 , 0x5d , 0x37 , 0xae , 0x16 , 0x9e , 0x00 , 0x3a , 0x82 , 0x0a , 0x22 , 0xcf , 0x19 , 0xb1 , 0x34 , 0x32 , 0x57 , 0x06 , 0xc6 , 0x86 , 0xb0 , 0x83 , 0x9f , 0x98 , 0xb3 , 0x55 , 0xa0 , 0xc6 , 0x50 , 0x3c , 0x55 , 0x27 , 0x7f , 0x10 , 0x06 , 0xd8 , 0x00 , 0x01 , 0x10 , 0xaf , 0x0b , 0xae , 0x64 , 0x24 , 0xc4 , 0x49 , 0x79 , 0x69 , 0xba , 0x05 , 0x94 , 0x20 , 0x02 , 0x46 , 0x30 , 0x0c , 0x30 , 0x04 , 0x3a , 0x49 , 0x00 , }; |
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/pyt1234567890/article/details/107244795