下载资源后端资源详情
simplest_ffmpeg_audio_player_2.2.zip
大小:32.36MB
价格:21积分
下载量:0
评分:
5.0
上传者:leixiaohua1020
更新日期:2025-09-22

最简单的基于FFMPEG+SDL的音频播放器 2.2

资源文件列表(大概)

文件名
大小
.gitignore
32B
ReadMe.txt
1.66KB
simplest_audio_play_sdl2/
-
simplest_audio_play_sdl2/.gitignore
68B
simplest_audio_play_sdl2/NocturneNo2inEflat_44.1k_s16le.pcm
3.7MB
simplest_audio_play_sdl2/ReadMe.txt
1.16KB
simplest_audio_play_sdl2/SDL2.dll
983.5KB
simplest_audio_play_sdl2/compile_cl.bat
585B
simplest_audio_play_sdl2/compile_gcc.sh
449B
simplest_audio_play_sdl2/compile_mingw.sh
469B
simplest_audio_play_sdl2/include/
-
simplest_audio_play_sdl2/include/sdl/
-
simplest_audio_play_sdl2/include/sdl/SDL.h
5.41KB
simplest_audio_play_sdl2/include/sdl/SDL_assert.h
10.74KB
simplest_audio_play_sdl2/include/sdl/SDL_atomic.h
9.06KB
simplest_audio_play_sdl2/include/sdl/SDL_audio.h
20.15KB
simplest_audio_play_sdl2/include/sdl/SDL_bits.h
2.56KB
simplest_audio_play_sdl2/include/sdl/SDL_blendmode.h
2.26KB
simplest_audio_play_sdl2/include/sdl/SDL_clipboard.h
1.99KB
simplest_audio_play_sdl2/include/sdl/SDL_config.h
5.56KB
simplest_audio_play_sdl2/include/sdl/SDL_cpuinfo.h
4.12KB
simplest_audio_play_sdl2/include/sdl/SDL_endian.h
6.04KB
simplest_audio_play_sdl2/include/sdl/SDL_error.h
2.24KB
simplest_audio_play_sdl2/include/sdl/SDL_events.h
26.21KB
simplest_audio_play_sdl2/include/sdl/SDL_filesystem.h
5.26KB
simplest_audio_play_sdl2/include/sdl/SDL_gamecontroller.h
10.56KB
simplest_audio_play_sdl2/include/sdl/SDL_gesture.h
2.19KB
simplest_audio_play_sdl2/include/sdl/SDL_haptic.h
38.79KB
simplest_audio_play_sdl2/include/sdl/SDL_hints.h
19.79KB
simplest_audio_play_sdl2/include/sdl/SDL_joystick.h
8.2KB
simplest_audio_play_sdl2/include/sdl/SDL_keyboard.h
6.49KB
simplest_audio_play_sdl2/include/sdl/SDL_keycode.h
14.83KB
simplest_audio_play_sdl2/include/sdl/SDL_loadso.h
2.88KB
simplest_audio_play_sdl2/include/sdl/SDL_log.h
6.14KB
simplest_audio_play_sdl2/include/sdl/SDL_main.h
4.5KB
simplest_audio_play_sdl2/include/sdl/SDL_messagebox.h
4.64KB
simplest_audio_play_sdl2/include/sdl/SDL_mouse.h
7.47KB
simplest_audio_play_sdl2/include/sdl/SDL_mutex.h
6.75KB
simplest_audio_play_sdl2/include/sdl/SDL_name.h
1.16KB
simplest_audio_play_sdl2/include/sdl/SDL_opengl.h
632.54KB
simplest_audio_play_sdl2/include/sdl/SDL_opengles.h
1.24KB
simplest_audio_play_sdl2/include/sdl/SDL_opengles2.h
131.29KB
simplest_audio_play_sdl2/include/sdl/SDL_pixels.h
15.15KB
simplest_audio_play_sdl2/include/sdl/SDL_platform.h
4.49KB
simplest_audio_play_sdl2/include/sdl/SDL_power.h
2.48KB
simplest_audio_play_sdl2/include/sdl/SDL_quit.h
2.11KB
simplest_audio_play_sdl2/include/sdl/SDL_rect.h
4.17KB
simplest_audio_play_sdl2/include/sdl/SDL_render.h
33.27KB
simplest_audio_play_sdl2/include/sdl/SDL_revision.h
79B
simplest_audio_play_sdl2/include/sdl/SDL_rwops.h
7.3KB
simplest_audio_play_sdl2/include/sdl/SDL_scancode.h
14.99KB
simplest_audio_play_sdl2/include/sdl/SDL_shape.h
5.69KB
simplest_audio_play_sdl2/include/sdl/SDL_stdinc.h
14.18KB
simplest_audio_play_sdl2/include/sdl/SDL_surface.h
18.59KB
simplest_audio_play_sdl2/include/sdl/SDL_system.h
6.94KB
simplest_audio_play_sdl2/include/sdl/SDL_syswm.h
7.23KB
simplest_audio_play_sdl2/include/sdl/SDL_test.h
1.99KB
simplest_audio_play_sdl2/include/sdl/SDL_test_assert.h
3.11KB
simplest_audio_play_sdl2/include/sdl/SDL_test_common.h
4.97KB
simplest_audio_play_sdl2/include/sdl/SDL_test_compare.h
2.13KB
simplest_audio_play_sdl2/include/sdl/SDL_test_crc32.h
3.43KB
simplest_audio_play_sdl2/include/sdl/SDL_test_font.h
2.36KB
simplest_audio_play_sdl2/include/sdl/SDL_test_fuzzer.h
13.13KB
simplest_audio_play_sdl2/include/sdl/SDL_test_harness.h
4.27KB
simplest_audio_play_sdl2/include/sdl/SDL_test_images.h
2.2KB
simplest_audio_play_sdl2/include/sdl/SDL_test_log.h
1.87KB
simplest_audio_play_sdl2/include/sdl/SDL_test_md5.h
4.65KB
simplest_audio_play_sdl2/include/sdl/SDL_test_random.h
3.19KB
simplest_audio_play_sdl2/include/sdl/SDL_thread.h
10.15KB
simplest_audio_play_sdl2/include/sdl/SDL_timer.h
3.49KB
simplest_audio_play_sdl2/include/sdl/SDL_touch.h
2.36KB
simplest_audio_play_sdl2/include/sdl/SDL_types.h
1.04KB
simplest_audio_play_sdl2/include/sdl/SDL_version.h
5.2KB
simplest_audio_play_sdl2/include/sdl/SDL_video.h
33.49KB
simplest_audio_play_sdl2/include/sdl/begin_code.h
4.17KB
simplest_audio_play_sdl2/include/sdl/close_code.h
1.42KB
simplest_audio_play_sdl2/lib/
-
simplest_audio_play_sdl2/lib/SDL2.lib
113.67KB
simplest_audio_play_sdl2/lib/SDL2main.lib
39.59KB
simplest_audio_play_sdl2/simplest_audio_play_sdl2.cpp
3.24KB
simplest_audio_play_sdl2/simplest_audio_play_sdl2.vcxproj
4.71KB
simplest_audio_play_sdl2/simplest_audio_play_sdl2.vcxproj.filters
1KB
simplest_audio_play_sdl2/simplest_audio_play_sdl2.vcxproj.user
143B
simplest_ffmpeg_audio_decoder/
-
simplest_ffmpeg_audio_decoder/.gitignore
75B
simplest_ffmpeg_audio_decoder/Readme.txt
466B
simplest_ffmpeg_audio_decoder/avcodec-55.dll
18.06MB
simplest_ffmpeg_audio_decoder/avdevice-55.dll
1.28MB
simplest_ffmpeg_audio_decoder/avfilter-4.dll
1.94MB
simplest_ffmpeg_audio_decoder/avformat-55.dll
5.1MB
simplest_ffmpeg_audio_decoder/avutil-52.dll
408.5KB
simplest_ffmpeg_audio_decoder/compile_cl.bat
642B
simplest_ffmpeg_audio_decoder/compile_gcc.sh
467B
simplest_ffmpeg_audio_decoder/compile_mingw.sh
475B
simplest_ffmpeg_audio_decoder/include/
-
simplest_ffmpeg_audio_decoder/include/_mingw.h
8.07KB
simplest_ffmpeg_audio_decoder/include/inttypes.h
5.86KB
simplest_ffmpeg_audio_decoder/include/libavcodec/
-
simplest_ffmpeg_audio_decoder/include/libavcodec/avcodec.h
176.49KB
simplest_ffmpeg_audio_decoder/include/libavcodec/avfft.h
3.15KB
simplest_ffmpeg_audio_decoder/include/libavcodec/dxva2.h
2.43KB
simplest_ffmpeg_audio_decoder/include/libavcodec/old_codec_ids.h
10.79KB
simplest_ffmpeg_audio_decoder/include/libavcodec/vaapi.h
4.08KB
simplest_ffmpeg_audio_decoder/include/libavcodec/vda.h
4.16KB
simplest_ffmpeg_audio_decoder/include/libavcodec/vdpau.h
6.26KB
simplest_ffmpeg_audio_decoder/include/libavcodec/version.h
5.62KB
simplest_ffmpeg_audio_decoder/include/libavcodec/xvmc.h
6.09KB
simplest_ffmpeg_audio_decoder/include/libavdevice/
-
simplest_ffmpeg_audio_decoder/include/libavdevice/avdevice.h
16.73KB
simplest_ffmpeg_audio_decoder/include/libavdevice/version.h
1.87KB
simplest_ffmpeg_audio_decoder/include/libavfilter/
-
simplest_ffmpeg_audio_decoder/include/libavfilter/asrc_abuffer.h
3.33KB
simplest_ffmpeg_audio_decoder/include/libavfilter/avcodec.h
3.8KB
simplest_ffmpeg_audio_decoder/include/libavfilter/avfilter.h
57.05KB
simplest_ffmpeg_audio_decoder/include/libavfilter/avfiltergraph.h
1003B
simplest_ffmpeg_audio_decoder/include/libavfilter/buffersink.h
7.56KB
simplest_ffmpeg_audio_decoder/include/libavfilter/buffersrc.h
4.94KB
simplest_ffmpeg_audio_decoder/include/libavfilter/version.h
3.51KB
simplest_ffmpeg_audio_decoder/include/libavformat/
-
simplest_ffmpeg_audio_decoder/include/libavformat/avformat.h
99.19KB
simplest_ffmpeg_audio_decoder/include/libavformat/avio.h
18.07KB
simplest_ffmpeg_audio_decoder/include/libavformat/version.h
2.84KB
simplest_ffmpeg_audio_decoder/include/libavutil/
-
simplest_ffmpeg_audio_decoder/include/libavutil/adler32.h
1.6KB
simplest_ffmpeg_audio_decoder/include/libavutil/aes.h
1.85KB
simplest_ffmpeg_audio_decoder/include/libavutil/attributes.h
4.29KB
simplest_ffmpeg_audio_decoder/include/libavutil/audio_fifo.h
4.46KB
simplest_ffmpeg_audio_decoder/include/libavutil/audioconvert.h
88B
simplest_ffmpeg_audio_decoder/include/libavutil/avassert.h
2.13KB
simplest_ffmpeg_audio_decoder/include/libavutil/avconfig.h
218B
simplest_ffmpeg_audio_decoder/include/libavutil/avstring.h
12.53KB
simplest_ffmpeg_audio_decoder/include/libavutil/avutil.h
8.69KB
simplest_ffmpeg_audio_decoder/include/libavutil/base64.h
2.1KB
simplest_ffmpeg_audio_decoder/include/libavutil/blowfish.h
2.33KB
simplest_ffmpeg_audio_decoder/include/libavutil/bprint.h
7.76KB
simplest_ffmpeg_audio_decoder/include/libavutil/bswap.h
2.94KB
simplest_ffmpeg_audio_decoder/include/libavutil/buffer.h
9.81KB
simplest_ffmpeg_audio_decoder/include/libavutil/channel_layout.h
9.1KB
simplest_ffmpeg_audio_decoder/include/libavutil/common.h
14.11KB
simplest_ffmpeg_audio_decoder/include/libavutil/cpu.h
4.73KB
simplest_ffmpeg_audio_decoder/include/libavutil/crc.h
2.8KB
simplest_ffmpeg_audio_decoder/include/libavutil/dict.h
6.53KB
simplest_ffmpeg_audio_decoder/include/libavutil/downmix_info.h
3.2KB
simplest_ffmpeg_audio_decoder/include/libavutil/error.h
4.76KB
simplest_ffmpeg_audio_decoder/include/libavutil/eval.h
5.29KB
simplest_ffmpeg_audio_decoder/include/libavutil/ffversion.h
132B
simplest_ffmpeg_audio_decoder/include/libavutil/fifo.h
4.69KB
simplest_ffmpeg_audio_decoder/include/libavutil/file.h
2.42KB
simplest_ffmpeg_audio_decoder/include/libavutil/frame.h
23.22KB
simplest_ffmpeg_audio_decoder/include/libavutil/hmac.h
2.9KB
simplest_ffmpeg_audio_decoder/include/libavutil/imgutils.h
7.86KB
simplest_ffmpeg_audio_decoder/include/libavutil/intfloat.h
1.76KB
simplest_ffmpeg_audio_decoder/include/libavutil/intfloat_readwrite.h
1.57KB
simplest_ffmpeg_audio_decoder/include/libavutil/intreadwrite.h
18.17KB
simplest_ffmpeg_audio_decoder/include/libavutil/lfg.h
2KB
simplest_ffmpeg_audio_decoder/include/libavutil/log.h
10.12KB
simplest_ffmpeg_audio_decoder/include/libavutil/lzo.h
2.06KB
simplest_ffmpeg_audio_decoder/include/libavutil/macros.h
1.22KB
simplest_ffmpeg_audio_decoder/include/libavutil/mathematics.h
5.22KB
simplest_ffmpeg_audio_decoder/include/libavutil/md5.h
1.99KB
simplest_ffmpeg_audio_decoder/include/libavutil/mem.h
14.4KB
simplest_ffmpeg_audio_decoder/include/libavutil/murmur3.h
1.22KB
simplest_ffmpeg_audio_decoder/include/libavutil/old_pix_fmts.h
14.24KB
simplest_ffmpeg_audio_decoder/include/libavutil/opt.h
34.92KB
simplest_ffmpeg_audio_decoder/include/libavutil/parseutils.h
7.26KB
simplest_ffmpeg_audio_decoder/include/libavutil/pixdesc.h
13.27KB
simplest_ffmpeg_audio_decoder/include/libavutil/pixfmt.h
27.98KB
simplest_ffmpeg_audio_decoder/include/libavutil/random_seed.h
1.41KB
simplest_ffmpeg_audio_decoder/include/libavutil/rational.h
4.25KB
simplest_ffmpeg_audio_decoder/include/libavutil/replaygain.h
1.62KB
simplest_ffmpeg_audio_decoder/include/libavutil/ripemd.h
2.05KB
simplest_ffmpeg_audio_decoder/include/libavutil/samplefmt.h
10.1KB
simplest_ffmpeg_audio_decoder/include/libavutil/sha.h
1.97KB
simplest_ffmpeg_audio_decoder/include/libavutil/sha512.h
2.05KB
simplest_ffmpeg_audio_decoder/include/libavutil/stereo3d.h
3.68KB
simplest_ffmpeg_audio_decoder/include/libavutil/time.h
1.29KB
simplest_ffmpeg_audio_decoder/include/libavutil/timecode.h
5.34KB
simplest_ffmpeg_audio_decoder/include/libavutil/timestamp.h
2.63KB
simplest_ffmpeg_audio_decoder/include/libavutil/version.h
4.52KB
simplest_ffmpeg_audio_decoder/include/libavutil/xtea.h
1.89KB
simplest_ffmpeg_audio_decoder/include/libpostproc/
-
simplest_ffmpeg_audio_decoder/include/libpostproc/postprocess.h
2.92KB
simplest_ffmpeg_audio_decoder/include/libpostproc/version.h
1.68KB
simplest_ffmpeg_audio_decoder/include/libswresample/
-
simplest_ffmpeg_audio_decoder/include/libswresample/swresample.h
11.85KB
simplest_ffmpeg_audio_decoder/include/libswresample/version.h
1.7KB
simplest_ffmpeg_audio_decoder/include/libswscale/
-
simplest_ffmpeg_audio_decoder/include/libswscale/swscale.h
12.32KB
simplest_ffmpeg_audio_decoder/include/libswscale/version.h
2.13KB
simplest_ffmpeg_audio_decoder/include/stdint.h
5.92KB
simplest_ffmpeg_audio_decoder/lib/
-
simplest_ffmpeg_audio_decoder/lib/avcodec.lib
218.52KB
simplest_ffmpeg_audio_decoder/lib/avdevice.lib
9.22KB
simplest_ffmpeg_audio_decoder/lib/avfilter.lib
66.06KB
simplest_ffmpeg_audio_decoder/lib/avformat.lib
122.13KB
simplest_ffmpeg_audio_decoder/lib/avutil.lib
320.93KB
simplest_ffmpeg_audio_decoder/lib/postproc.lib
8.03KB
simplest_ffmpeg_audio_decoder/lib/swresample.lib
75.54KB
simplest_ffmpeg_audio_decoder/lib/swscale.lib
27.8KB
simplest_ffmpeg_audio_decoder/output.pk
38.83KB
simplest_ffmpeg_audio_decoder/simplest_ffmpeg_audio_decoder.cpp
4.36KB
simplest_ffmpeg_audio_decoder/simplest_ffmpeg_audio_decoder.vcxproj
6.18KB
simplest_ffmpeg_audio_decoder/simplest_ffmpeg_audio_decoder.vcxproj.filters
967B
simplest_ffmpeg_audio_decoder/simplest_ffmpeg_audio_decoder.vcxproj.user
143B
simplest_ffmpeg_audio_decoder/skycity1.mp3
360.28KB
simplest_ffmpeg_audio_decoder/swresample-0.dll
269.5KB
simplest_ffmpeg_audio_decoder/swscale-2.dll
424KB
simplest_ffmpeg_audio_player/
-
simplest_ffmpeg_audio_player/.gitignore
75B
simplest_ffmpeg_audio_player/ReadMe.txt
1.04KB
simplest_ffmpeg_audio_player/SDL2.dll
983.5KB
simplest_ffmpeg_audio_player/WavinFlag.aac
3.37MB
simplest_ffmpeg_audio_player/avcodec-55.dll
18.06MB
simplest_ffmpeg_audio_player/avdevice-55.dll
1.28MB
simplest_ffmpeg_audio_player/avfilter-4.dll
1.94MB
simplest_ffmpeg_audio_player/avformat-55.dll
5.1MB
simplest_ffmpeg_audio_player/avutil-52.dll
408.5KB
simplest_ffmpeg_audio_player/compile_cl.bat
682B
simplest_ffmpeg_audio_player/compile_gcc.sh
486B
simplest_ffmpeg_audio_player/compile_mingw.sh
504B
simplest_ffmpeg_audio_player/include/
-
simplest_ffmpeg_audio_player/include/SDL2/
-
simplest_ffmpeg_audio_player/include/SDL2/SDL.h
5.41KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_assert.h
10.74KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_atomic.h
9.06KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_audio.h
20.15KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_bits.h
2.56KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_blendmode.h
2.26KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_clipboard.h
1.99KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_config.h
5.56KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_cpuinfo.h
4.12KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_endian.h
6.04KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_error.h
2.24KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_events.h
26.21KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_filesystem.h
5.26KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_gamecontroller.h
10.56KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_gesture.h
2.19KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_haptic.h
38.79KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_hints.h
19.79KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_joystick.h
8.2KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_keyboard.h
6.49KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_keycode.h
14.83KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_loadso.h
2.88KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_log.h
6.14KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_main.h
4.5KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_messagebox.h
4.64KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_mouse.h
7.47KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_mutex.h
6.75KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_name.h
1.16KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_opengl.h
632.54KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_opengles.h
1.24KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_opengles2.h
131.29KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_pixels.h
15.15KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_platform.h
4.49KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_power.h
2.48KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_quit.h
2.11KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_rect.h
4.17KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_render.h
33.27KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_revision.h
79B
simplest_ffmpeg_audio_player/include/SDL2/SDL_rwops.h
7.3KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_scancode.h
14.99KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_shape.h
5.69KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_stdinc.h
14.18KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_surface.h
18.59KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_system.h
6.94KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_syswm.h
7.23KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_test.h
1.99KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_test_assert.h
3.11KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_test_common.h
4.97KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_test_compare.h
2.13KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_test_crc32.h
3.43KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_test_font.h
2.36KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_test_fuzzer.h
13.13KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_test_harness.h
4.27KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_test_images.h
2.2KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_test_log.h
1.87KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_test_md5.h
4.65KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_test_random.h
3.19KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_thread.h
10.15KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_timer.h
3.49KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_touch.h
2.36KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_types.h
1.04KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_version.h
5.2KB
simplest_ffmpeg_audio_player/include/SDL2/SDL_video.h
33.49KB
simplest_ffmpeg_audio_player/include/SDL2/begin_code.h
4.17KB
simplest_ffmpeg_audio_player/include/SDL2/close_code.h
1.42KB
simplest_ffmpeg_audio_player/include/_mingw.h
8.07KB
simplest_ffmpeg_audio_player/include/inttypes.h
5.86KB
simplest_ffmpeg_audio_player/include/libavcodec/
-
simplest_ffmpeg_audio_player/include/libavcodec/avcodec.h
176.49KB
simplest_ffmpeg_audio_player/include/libavcodec/avfft.h
3.15KB
simplest_ffmpeg_audio_player/include/libavcodec/dxva2.h
2.43KB
simplest_ffmpeg_audio_player/include/libavcodec/old_codec_ids.h
10.79KB
simplest_ffmpeg_audio_player/include/libavcodec/vaapi.h
4.08KB
simplest_ffmpeg_audio_player/include/libavcodec/vda.h
4.16KB
simplest_ffmpeg_audio_player/include/libavcodec/vdpau.h
6.26KB
simplest_ffmpeg_audio_player/include/libavcodec/version.h
5.62KB
simplest_ffmpeg_audio_player/include/libavcodec/xvmc.h
6.09KB
simplest_ffmpeg_audio_player/include/libavdevice/
-
simplest_ffmpeg_audio_player/include/libavdevice/avdevice.h
16.73KB
simplest_ffmpeg_audio_player/include/libavdevice/version.h
1.87KB
simplest_ffmpeg_audio_player/include/libavfilter/
-
simplest_ffmpeg_audio_player/include/libavfilter/asrc_abuffer.h
3.33KB
simplest_ffmpeg_audio_player/include/libavfilter/avcodec.h
3.8KB
simplest_ffmpeg_audio_player/include/libavfilter/avfilter.h
57.05KB
simplest_ffmpeg_audio_player/include/libavfilter/avfiltergraph.h
1003B
simplest_ffmpeg_audio_player/include/libavfilter/buffersink.h
7.56KB
simplest_ffmpeg_audio_player/include/libavfilter/buffersrc.h
4.94KB
simplest_ffmpeg_audio_player/include/libavfilter/version.h
3.51KB
simplest_ffmpeg_audio_player/include/libavformat/
-
simplest_ffmpeg_audio_player/include/libavformat/avformat.h
99.19KB
simplest_ffmpeg_audio_player/include/libavformat/avio.h
18.07KB
simplest_ffmpeg_audio_player/include/libavformat/version.h
2.84KB
simplest_ffmpeg_audio_player/include/libavutil/
-
simplest_ffmpeg_audio_player/include/libavutil/adler32.h
1.6KB
simplest_ffmpeg_audio_player/include/libavutil/aes.h
1.85KB
simplest_ffmpeg_audio_player/include/libavutil/attributes.h
4.29KB
simplest_ffmpeg_audio_player/include/libavutil/audio_fifo.h
4.46KB
simplest_ffmpeg_audio_player/include/libavutil/audioconvert.h
88B
simplest_ffmpeg_audio_player/include/libavutil/avassert.h
2.13KB
simplest_ffmpeg_audio_player/include/libavutil/avconfig.h
218B
simplest_ffmpeg_audio_player/include/libavutil/avstring.h
12.53KB
simplest_ffmpeg_audio_player/include/libavutil/avutil.h
8.69KB
simplest_ffmpeg_audio_player/include/libavutil/base64.h
2.1KB
simplest_ffmpeg_audio_player/include/libavutil/blowfish.h
2.33KB
simplest_ffmpeg_audio_player/include/libavutil/bprint.h
7.76KB
simplest_ffmpeg_audio_player/include/libavutil/bswap.h
2.94KB
simplest_ffmpeg_audio_player/include/libavutil/buffer.h
9.81KB
simplest_ffmpeg_audio_player/include/libavutil/channel_layout.h
9.1KB
simplest_ffmpeg_audio_player/include/libavutil/common.h
14.11KB
simplest_ffmpeg_audio_player/include/libavutil/cpu.h
4.73KB
simplest_ffmpeg_audio_player/include/libavutil/crc.h
2.8KB
simplest_ffmpeg_audio_player/include/libavutil/dict.h
6.53KB
simplest_ffmpeg_audio_player/include/libavutil/downmix_info.h
3.2KB
simplest_ffmpeg_audio_player/include/libavutil/error.h
4.76KB
simplest_ffmpeg_audio_player/include/libavutil/eval.h
5.29KB
simplest_ffmpeg_audio_player/include/libavutil/ffversion.h
132B
simplest_ffmpeg_audio_player/include/libavutil/fifo.h
4.69KB
simplest_ffmpeg_audio_player/include/libavutil/file.h
2.42KB
simplest_ffmpeg_audio_player/include/libavutil/frame.h
23.22KB
simplest_ffmpeg_audio_player/include/libavutil/hmac.h
2.9KB
simplest_ffmpeg_audio_player/include/libavutil/imgutils.h
7.86KB
simplest_ffmpeg_audio_player/include/libavutil/intfloat.h
1.76KB
simplest_ffmpeg_audio_player/include/libavutil/intfloat_readwrite.h
1.57KB
simplest_ffmpeg_audio_player/include/libavutil/intreadwrite.h
18.17KB
simplest_ffmpeg_audio_player/include/libavutil/lfg.h
2KB
simplest_ffmpeg_audio_player/include/libavutil/log.h
10.12KB
simplest_ffmpeg_audio_player/include/libavutil/lzo.h
2.06KB
simplest_ffmpeg_audio_player/include/libavutil/macros.h
1.22KB
simplest_ffmpeg_audio_player/include/libavutil/mathematics.h
5.22KB
simplest_ffmpeg_audio_player/include/libavutil/md5.h
1.99KB
simplest_ffmpeg_audio_player/include/libavutil/mem.h
14.4KB
simplest_ffmpeg_audio_player/include/libavutil/murmur3.h
1.22KB
simplest_ffmpeg_audio_player/include/libavutil/old_pix_fmts.h
14.24KB
simplest_ffmpeg_audio_player/include/libavutil/opt.h
34.92KB
simplest_ffmpeg_audio_player/include/libavutil/parseutils.h
7.26KB
simplest_ffmpeg_audio_player/include/libavutil/pixdesc.h
13.27KB
simplest_ffmpeg_audio_player/include/libavutil/pixfmt.h
27.98KB
simplest_ffmpeg_audio_player/include/libavutil/random_seed.h
1.41KB
simplest_ffmpeg_audio_player/include/libavutil/rational.h
4.25KB
simplest_ffmpeg_audio_player/include/libavutil/replaygain.h
1.62KB
simplest_ffmpeg_audio_player/include/libavutil/ripemd.h
2.05KB
simplest_ffmpeg_audio_player/include/libavutil/samplefmt.h
10.1KB
simplest_ffmpeg_audio_player/include/libavutil/sha.h
1.97KB
simplest_ffmpeg_audio_player/include/libavutil/sha512.h
2.05KB
simplest_ffmpeg_audio_player/include/libavutil/stereo3d.h
3.68KB
simplest_ffmpeg_audio_player/include/libavutil/time.h
1.29KB
simplest_ffmpeg_audio_player/include/libavutil/timecode.h
5.34KB
simplest_ffmpeg_audio_player/include/libavutil/timestamp.h
2.63KB
simplest_ffmpeg_audio_player/include/libavutil/version.h
4.52KB
simplest_ffmpeg_audio_player/include/libavutil/xtea.h
1.89KB
simplest_ffmpeg_audio_player/include/libpostproc/
-
simplest_ffmpeg_audio_player/include/libpostproc/postprocess.h
2.92KB
simplest_ffmpeg_audio_player/include/libpostproc/version.h
1.68KB
simplest_ffmpeg_audio_player/include/libswresample/
-
simplest_ffmpeg_audio_player/include/libswresample/swresample.h
11.85KB
simplest_ffmpeg_audio_player/include/libswresample/version.h
1.7KB
simplest_ffmpeg_audio_player/include/libswscale/
-
simplest_ffmpeg_audio_player/include/libswscale/swscale.h
12.32KB
simplest_ffmpeg_audio_player/include/libswscale/version.h
2.13KB
simplest_ffmpeg_audio_player/include/stdint.h
5.92KB
simplest_ffmpeg_audio_player/lib/
-
simplest_ffmpeg_audio_player/lib/SDL2.lib
113.67KB
simplest_ffmpeg_audio_player/lib/SDL2main.lib
39.59KB
simplest_ffmpeg_audio_player/lib/avcodec.lib
218.52KB
simplest_ffmpeg_audio_player/lib/avdevice.lib
9.22KB
simplest_ffmpeg_audio_player/lib/avfilter.lib
66.06KB
simplest_ffmpeg_audio_player/lib/avformat.lib
122.13KB
simplest_ffmpeg_audio_player/lib/avutil.lib
320.93KB
simplest_ffmpeg_audio_player/lib/postproc.lib
8.03KB
simplest_ffmpeg_audio_player/lib/swresample.lib
75.54KB
simplest_ffmpeg_audio_player/lib/swscale.lib
27.8KB
simplest_ffmpeg_audio_player/output.pk
6.75KB
simplest_ffmpeg_audio_player/simplest_ffmpeg_audio_player.cpp
6.85KB
simplest_ffmpeg_audio_player/simplest_ffmpeg_audio_player.vcxproj
4.92KB
simplest_ffmpeg_audio_player/simplest_ffmpeg_audio_player.vcxproj.filters
1.01KB
simplest_ffmpeg_audio_player/simplest_ffmpeg_audio_player.vcxproj.user
143B
simplest_ffmpeg_audio_player/swresample-0.dll
269.5KB
simplest_ffmpeg_audio_player/swscale-2.dll
424KB
simplest_ffmpeg_audio_player2.sln
1.94KB
simplest_ffmpeg_audio_player2.suo
30KB

资源内容介绍

本程序实现了音频的解码和播放。是最简单的FFmpeg音频解码方面的教程。通过学习本例子可以了解FFmpeg的解码流程。项目包含3个工程:simplest_ffmpeg_audio_player:基于FFmpeg+SDL的音频解码器simplest_ffmpeg_audio_decoder:音频解码器。使用了libavcodec和libavformat。simplest_audio_play_sdl2:使用SDL2播放PCM采样数据的例子。
/** * 最简单的基于FFmpeg的音频播放器 2 * Simplest FFmpeg Audio Player 2 * * 雷霄骅 Lei Xiaohua * leixiaohua1020@126.com * 中国传媒大学/数字电视技术 * Communication University of China / Digital TV Technology * http://blog.csdn.net/leixiaohua1020 * * 本程序实现了音频的解码和播放。 * 是最简单的FFmpeg音频解码方面的教程。 * 通过学习本例子可以了解FFmpeg的解码流程。 * * 该版本使用SDL 2.0替换了第一个版本中的SDL 1.0。 * 注意:SDL 2.0中音频解码的API并无变化。唯一变化的地方在于 * 其回调函数的中的Audio Buffer并没有完全初始化,需要手动初始化。 * 本例子中即SDL_memset(stream, 0, len); * * This software decode and play audio streams. * Suitable for beginner of FFmpeg. * * This version use SDL 2.0 instead of SDL 1.2 in version 1 * Note:The good news for audio is that, with one exception, * it's entirely backwards compatible with 1.2. * That one really important exception: The audio callback * does NOT start with a fully initialized buffer anymore. * You must fully write to the buffer in all cases. In this * example it is SDL_memset(stream, 0, len); * * Version 2.0 */#include <stdio.h>#include <stdlib.h>#include <string.h>#define __STDC_CONSTANT_MACROS#ifdef _WIN32//Windowsextern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libswresample/swresample.h"#include "SDL2/SDL.h"};#else//Linux...#ifdef __cplusplusextern "C"{#endif#include <libavcodec/avcodec.h>#include <libavformat/avformat.h>#include <libswresample/swresample.h>#include <SDL2/SDL.h>#ifdef __cplusplus};#endif#endif#define MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio//Output PCM#define OUTPUT_PCM 1//Use SDL#define USE_SDL 1//Buffer://|-----------|-------------|//chunk-------pos---len-----|static Uint8 *audio_chunk; static Uint32 audio_len; static Uint8 *audio_pos; /* The audio function callback takes the following parameters: * stream: A pointer to the audio buffer to be filled * len: The length (in bytes) of the audio buffer */ void fill_audio(void *udata,Uint8 *stream,int len){ //SDL 2.0SDL_memset(stream, 0, len);if(audio_len==0) return; len=(len>audio_len?audio_len:len); SDL_MixAudio(stream,audio_pos,len,SDL_MIX_MAXVOLUME);audio_pos += len; audio_len -= len; } //-----------------int main(int argc, char* argv[]){AVFormatContext*pFormatCtx;inti, audioStream;AVCodecContext*pCodecCtx;AVCodec*pCodec;AVPacket*packet;uint8_t*out_buffer;AVFrame*pFrame;SDL_AudioSpec wanted_spec; int ret;uint32_t len = 0;int got_picture;int index = 0;int64_t in_channel_layout;struct SwrContext *au_convert_ctx;FILE *pFile=NULL;char url[]="WavinFlag.aac";av_register_all();avformat_network_init();pFormatCtx = avformat_alloc_context();//Openif(avformat_open_input(&pFormatCtx,url,NULL,NULL)!=0){printf("Couldn't open input stream.\n");return -1;}// Retrieve stream informationif(avformat_find_stream_info(pFormatCtx,NULL)<0){printf("Couldn't find stream information.\n");return -1;}// Dump valid information onto standard errorav_dump_format(pFormatCtx, 0, url, false);// Find the first audio streamaudioStream=-1;for(i=0; i < pFormatCtx->nb_streams; i++)if(pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_AUDIO){audioStream=i;break;}if(audioStream==-1){printf("Didn't find a audio stream.\n");return -1;}// Get a pointer to the codec context for the audio streampCodecCtx=pFormatCtx->streams[audioStream]->codec;// Find the decoder for the audio streampCodec=avcodec_find_decoder(pCodecCtx->codec_id);if(pCodec==NULL){printf("Codec not found.\n");return -1;}// Open codecif(avcodec_open2(pCodecCtx, pCodec,NULL)<0){printf("Could not open codec.\n");return -1;}#if OUTPUT_PCMpFile=fopen("output.pcm", "wb");#endifpacket=(AVPacket *)av_malloc(sizeof(AVPacket));av_init_packet(packet);//Out Audio Paramuint64_t out_channel_layout=AV_CH_LAYOUT_STEREO;//nb_samples: AAC-1024 MP3-1152int out_nb_samples=pCodecCtx->frame_size;AVSampleFormat out_sample_fmt=AV_SAMPLE_FMT_S16;int out_sample_rate=44100;int out_channels=av_get_channel_layout_nb_channels(out_channel_layout);//Out Buffer Sizeint out_buffer_size=av_samples_get_buffer_size(NULL,out_channels ,out_nb_samples,out_sample_fmt, 1);out_buffer=(uint8_t *)av_malloc(MAX_AUDIO_FRAME_SIZE*2);pFrame=av_frame_alloc();//SDL------------------#if USE_SDL//Initif(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER)) { printf( "Could not initialize SDL - %s\n", SDL_GetError()); return -1;}//SDL_AudioSpecwanted_spec.freq = out_sample_rate; wanted_spec.format = AUDIO_S16SYS; wanted_spec.channels = out_channels; wanted_spec.silence = 0; wanted_spec.samples = out_nb_samples; wanted_spec.callback = fill_audio; wanted_spec.userdata = pCodecCtx; if (SDL_OpenAudio(&wanted_spec, NULL)<0){ printf("can't open audio.\n"); return -1; } #endif//FIX:Some Codec's Context Information is missingin_channel_layout=av_get_default_channel_layout(pCodecCtx->channels);//Swrau_convert_ctx = swr_alloc();au_convert_ctx=swr_alloc_set_opts(au_convert_ctx,out_channel_layout, out_sample_fmt, out_sample_rate,in_channel_layout,pCodecCtx->sample_fmt , pCodecCtx->sample_rate,0, NULL);swr_init(au_convert_ctx);while(av_read_frame(pFormatCtx, packet)>=0){if(packet->stream_index==audioStream){ret = avcodec_decode_audio4( pCodecCtx, pFrame,&got_picture, packet);if ( ret < 0 ) { printf("Error in decoding audio frame.\n"); return -1; }if ( got_picture > 0 ){swr_convert(au_convert_ctx,&out_buffer, MAX_AUDIO_FRAME_SIZE,(const uint8_t **)pFrame->data , pFrame->nb_samples);#if 1printf("index:%5d\t pts:%lld\t packet size:%d\n",index,packet->pts,packet->size);#endif#if OUTPUT_PCM//Write PCMfwrite(out_buffer, 1, out_buffer_size, pFile);#endifindex++;}#if USE_SDLwhile(audio_len>0)//Wait until finishSDL_Delay(1); //Set audio buffer (PCM data)audio_chunk = (Uint8 *) out_buffer; //Audio buffer lengthaudio_len =out_buffer_size;audio_pos = audio_chunk;//PlaySDL_PauseAudio(0);#endif}av_free_packet(packet);}swr_free(&au_convert_ctx);#if USE_SDLSDL_CloseAudio();//Close SDLSDL_Quit();#endif// Close file#if OUTPUT_PCMfclose(pFile);#endifav_free(out_buffer);// Close the codecavcodec_close(pCodecCtx);// Close the video fileavformat_close_input(&pFormatCtx);return 0;}

用户评论 (0)

发表评论

captcha