From 58bf5db4e4375e6f48ee478ff97232cde7b69e58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?mq=E7=99=BD?= <3326284481@qq.com> Date: 2025年8月21日 14:42:58 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20SFML=20=E9=9F=B3?= =?UTF-8?q?=E9=A2=91=E6=94=AF=E6=8C=81=E8=AF=B4=E6=98=8E=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=AF=B9=20`.mp3`=20=E6=A0=BC=E5=BC=8F=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E7=9A=84=E8=AF=B4=E6=98=8E=E5=8F=8A=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E9=93=BE=E8=A6=81=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4345円220円214円346円255円245円346円223円215円344円275円234円.md" | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git "a/md/04345円220円214円346円255円245円346円223円215円344円275円234円.md" "b/md/04345円220円214円346円255円245円346円223円215円344円275円234円.md" index 85e001f..d4824c9 100644 --- "a/md/04345円220円214円346円255円245円346円223円215円344円275円234円.md" +++ "b/md/04345円220円214円346円255円245円346円223円215円344円275円234円.md" @@ -411,12 +411,19 @@ enum SoundIndex { }; ``` -需要注意的是 SFML不支持 `.mp3` 格式的音频文件,大家可以使用 ffmpeg 或者其它软件[网站](https://www.freeconvert.com/audio-converter)将音频转换为支持的格式。 +> [!Note] +> +> ~~需要注意的是 SFML不支持 `.mp3` 格式的音频文件,大家可以使用 ffmpeg 或者其它软件[网站](https://www.freeconvert.com/audio-converter)将音频转换为支持的格式。~~ +> +> SFML 自 [2.6](https://github.com/SFML/SFML/releases/tag/2.6.0) 版本开始通过 **[minimp3](https://github.com/lieff/minimp3)** 支持 `.mp3` 格式的音频文件。不过新版本的 SFML 也要求更高版本的工具链。 +> +> 如果只是为了播放 `.mp3` 的音乐,也可以直接使用 `minimp3` 。 如果是测试使用,不知道去哪生成这些语音播报,我们推荐 [`tts-vue`](https://github.com/LokerL/tts-vue)。 > 我们的代码也可以在 Linux 中运行,并且整体仅需 C++11 标准(除了 `soundResources` 数组)。 > SFML 依赖于 [**FLAC**](https://xiph.org/flac/) 和 [**OpenAL**](https://www.openal.org/) 这两个库。官网上[下载](https://www.sfml-dev.org/download/sfml/2.5.1/)的 windows 版本的 SFML 已包含这些依赖,但在 Linux 上需要用户自行下载并安装它们。如: +> > ```shell > sudo apt-get install libflac-dev > sudo apt-get install libopenal-dev From e29eb0b543ef727204efdc91124cb46dc5768036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?mq=E7=99=BD?= <3326284481@qq.com> Date: 2025年8月21日 15:26:17 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20USB=20=E7=9B=91?= =?UTF-8?q?=E6=B5=8B=E5=BA=93=E7=9A=84=E5=8F=82=E8=80=83=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "md/04345円220円214円346円255円245円346円223円215円344円275円234円.md" | 2 ++ 1 file changed, 2 insertions(+) diff --git "a/md/04345円220円214円346円255円245円346円223円215円344円275円234円.md" "b/md/04345円220円214円346円255円245円346円223円215円344円275円234円.md" index d4824c9..864362a 100644 --- "a/md/04345円220円214円346円255円245円346円223円215円344円275円234円.md" +++ "b/md/04345円220円214円346円255円245円346円223円215円344円275円234円.md" @@ -429,6 +429,8 @@ enum SoundIndex { > sudo apt-get install libopenal-dev > ``` +> [!Tip] +> 这种设计思路非常常见。例如,[`USBMonitor-cpp`](https://github.com/Mq-b/USBMonitor-cpp) 是一个跨平台的 C++ 库,用于监测 U 盘插拔状态变化。感兴趣的话可以参考该项目,进一步学习和实践。 ## 使用 `future` From 4542ae05af0da7e60cbb033d65423a8e5797f92a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?mq=E7=99=BD?= <3326284481@qq.com> Date: 2025年8月23日 21:31:10 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=A0=87=E9=A2=98?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E6=8B=BC=E5=86=99=E9=94=99=E8=AF=AF=EF=BC=8C?= =?UTF-8?q?=E5=B0=86=20`st::async`=20=E6=9B=B4=E6=AD=A3=E4=B8=BA=20`std::a?= =?UTF-8?q?sync`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...16future346円272円220円347円240円201円350円247円243円346円236円220円.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/md/350円257円246円347円273円206円345円210円206円346円236円220円/03async344円270円216円future346円272円220円347円240円201円350円247円243円346円236円220円.md" "b/md/350円257円246円347円273円206円345円210円206円346円236円220円/03async344円270円216円future346円272円220円347円240円201円350円247円243円346円236円220円.md" index 85fb2db..243df10 100644 --- "a/md/350円257円246円347円273円206円345円210円206円346円236円220円/03async344円270円216円future346円272円220円347円240円201円350円247円243円346円236円220円.md" +++ "b/md/350円257円246円347円273円206円345円210円206円346円236円220円/03async344円270円216円future346円272円220円347円240円201円350円247円243円346円236円220円.md" @@ -1,4 +1,4 @@ -# `st::async` 与 `std::future` 源码解析 +# `std::async` 与 `std::future` 源码解析 ## 前言