~/P/everyone-can-use-english main ≣ yarn enjoy:make 5799 01:42:03
PM
=> Download whisper model ggml-tiny.en.bin
✅ Model ggml-tiny.en.bin already exists
✅ Model ggml-tiny.en.bin valid
=> Download dictionary cam_dict.refined.sqlite
✅ Dict cam_dict.refined.sqlite already exists
✅ Dict cam_dict.refined.sqlite valid
✔ Checking your system
⠋ Loading configuration
✔ Loading configuration
✔ Resolving make targets
› Making for the following targets: ,
✔ Loading configuration
✔ Loading configuration
✔ Resolving make targets
✔ Loading configuration
✔ Resolving make targets
› Making for the following targets: ,
✔ Loading configuration
✔ Loading configuration
✔ Resolving make targets
› Making for the following targets: ,
❯ Running package command
✔ Preparing to package application
❯ Running packaging hooks
✔ Running generateAssets hook
❯ Running prePackage hook
⠼ [plugin-vite] Building vite bundles
◼ Packaging application
◼ Running postPackage hook
◼ Running preMake hook
◼ Making distributables
◼ Running postMake hook
src/renderer/components/ui/progress.tsx (1:0): Error when using sourcemap for reporting an error: Can't resolve original location of error.
src/renderer/components/ui/menubar.tsx (1:0): Error when using sourcemap for reporting an error: Can't resolve original location of error.
src/renderer/components/ui/label.tsx (1:0): Error when using sourcemap for reporting an error: Can't resolve original location of error.
src/renderer/components/ui/radial-progress.tsx (1:0): Error when using sourcemap for reporting an error: Can't resolve original location of error.
src/renderer/components/ui/tabs.tsx (1:0): Error when using sourcemap for reporting an error: Can't resolve original location of error.
src/renderer/components/ui/avatar.tsx (1:0): Error when using sourcemap for reporting an error: Can't resolve original location of error.
src/renderer/components/ui/scroll-area.tsx (1:0): Error when using sourcemap for reporting an error: Can't resolve original location of error.
src/renderer/components/ui/toggle.tsx (1:0): Error when using sourcemap for reporting an error: Can't resolve original location of error.
✔ Loading configuration
✔ Loading configuration
✔ Resolving make targets
› Making for the following targets: ,
❯ Running package command
✔ Preparing to package application
❯ Running packaging hooks
✔ Running generateAssets hook
✔ Loading configuration
✔ Resolving make targets
✔ Loading configuration
✔ Loading configuration
✔ Resolving make targets
› Making for the following targets: ,
❯ Running package command
✔ Preparing to package application
❯ Running packaging hooks
✔ Running generateAssets hook
❯ Running prePackage hook
⠏ [plugin-vite] Building vite bundles
◼ Packaging application
◼ Running postPackage hook
◼ Running preMake hook
◼ Making distributables
◼ Running postMake hook
[vite-plugin-static-copy] Copied 13 items.
.vite/renderer/main_window/index.html 0.38 kB │ gzip: 0.26 kB
.vite/renderer/main_window/assets/flags-BMGzDaSL.png 70.33 kB
.vite/renderer/main_window/assets/flags@2x-DTOyOn_-.png 183.96 kB
.vite/renderer/main_window/assets/index-DkK-uynC.css 184.20 kB │ gzip: 33.97 kB
.vite/renderer/main_window/assets/vidstack-DPZ_f3fF-DkljKXVr.js 0.35 kB │ gzip: 0.26 kB
.vite/renderer/main_window/assets/srt-parser-JiQ4WSLF.js 0.54 kB │ gzip: 0.36 kB
.vite/renderer/main_window/assets/vidstack-DscYSLiW-CA6XwpqT.js 0.72 kB │ gzip: 0.46 kB
.vite/renderer/main_window/assets/vidstack-BTBUzdbF-Cao5mZMB.js 0.87 kB │ gzip: 0.50 kB
.vite/renderer/main_window/assets/vidstack-JCS9Ep-0-Dzgs7niN.js 1.11 kB │ gzip: 0.60 kB
.vite/renderer/main_window/assets/errors-CRRDrhzt.js 1.17 kB │ gzip: 0.38 kB
.vite/renderer/main_window/assets/api_chain-3t04nL5I.js 2.86 kB │ gzip: 1.03 kB
.vite/renderer/main_window/assets/vidstack-WRJGpSJm-BvNId0wn.js 3.21 kB │ gzip: 1.51 kB
.vite/renderer/main_window/assets/vector_db_qa-DyQDvDev.js 3.41 kB │ gzip: 1.20 kB
.vite/renderer/main_window/assets/vidstack-Ck1ZBR8h-Cc3P7GMD.js 4.32 kB │ gzip: 1.84 kB
.vite/renderer/main_window/assets/sequential_chain-G40RHixw.js 4.91 kB │ gzip: 1.51 kB
✔ Loading configuration
✔ Resolving make targets
✔ Loading configuration
✔ Resolving make targets
✔ Loading configuration
✔ Resolving make targets
› Making for the following targets: ,
❯ Running package command
✔ Loading configuration
✔ Loading configuration
✔ Resolving make targets
› Making for the following targets: ,
✔ Loading configuration
✔ Resolving make targets
✔ Loading configuration
✔ Resolving make targets
› Making for the following targets: ,
✔ Running package command
✔ Preparing to package application
✔ Running packaging hooks
✔ Running generateAssets hook
✔ Running prePackage hook
✔ [plugin-vite] Building vite bundles
✔ Packaging application
✔ Packaging for x64 on linux [43s]
✔ Running postPackage hook
✔ Running preMake hook
✔ Making distributables
✔ Making a zip distributable for linux/x64 [1m4s]
✔ Making a deb distributable for linux/x64 [1m26s]
✔ Running postMake hook
› Artifacts available at: /home/otakutyrant/Projects/everyone-can-use-english/enjoy/out/make
~/P/everyone-can-use-english main ≣ yarn enjoy:start 151586 01:45:20
PM
=> Download whisper model ggml-tiny.en.bin
✅ Model ggml-tiny.en.bin already exists
✅ Model ggml-tiny.en.bin valid
=> Download dictionary cam_dict.refined.sqlite
✅ Dict cam_dict.refined.sqlite already exists
✅ Dict cam_dict.refined.sqlite valid
✔ Checking your system
✔ Locating application
✔ Locating application
✔ Loading configuration
✔ Preparing native dependencies: 1 / 1 [0.4s]
✔ Running generateAssets hook
⠙ [plugin-vite] Launching dev servers for renderer process code
◼ [plugin-vite] Compiling main process code
Port 5173 is in use, trying another one...
✔ [plugin-vite] Launching dev servers for renderer process code [0.1s]
✔ [plugin-vite] Launching dev servers for renderer process code [0.1s]
⠹ [plugin-vite] Compiling main process code
vite v5.2.7 building for development...
watching for file changes...
vite v5.2.7 building for development...
watching for file changes...
build started...
✔ [plugin-vite] Launching dev servers for renderer process code [0.1s]
✔ [plugin-vite] Launching dev servers for renderer process code [0.1s]
⠼ [plugin-vite] Compiling main process code
✔ [plugin-vite] Launching dev servers for renderer process code [0.1s]
✔ [plugin-vite] Launching dev servers for renderer process code [0.1s]
⠙ [plugin-vite] Compiling main process code
.vite/build/main.js 0.20 kB │ gzip: 0.13 kB
.vite/build/api_chain-uxC2qWjS.js 5.30 kB │ gzip: 1.49 kB
.vite/build/few_shot-DSjOyXS-.js 6.89 kB │ gzip: 1.67 kB
.vite/build/vector_db_qa-BYVARenb.js 8.09 kB │ gzip: 2.34 kB
.vite/build/sequential_chain-D9OEHS_x.js 12.76 kB │ gzip: 2.85 kB
✔ [plugin-vite] Launching dev servers for renderer process code [0.1s]
⠦ [plugin-vite] Compiling main process code
✔ [plugin-vite] Launching dev servers for renderer process code [0.1s]
✔ [plugin-vite] Compiling main process code [3s]
[12754:0406/134531.273974:ERROR:object_proxy.cc(576)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.I
nval
idArgs: No such interface “org.freedesktop.portal.FileChooser”
[12754:0406/134531.274017:ERROR:select_file_dialog_linux_portal.cc(286)] Failed to read portal version property
[12754:0406/134536.103499:ERROR:CONSOLE(1)] "Request Autofill.enable failed. {"code":-32601,"message":"'Autofill.enable' wasn't found"}", source: devtools://devtools/bundled/core/protocol_
clie
nt/protocol_client.js (1)
Executing (default): SELECT name FROM sqlite_master WHERE type='table' AND name='SequelizeMeta';
Executing (default): PRAGMA INDEX_LIST(`SequelizeMeta`)
Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_SequelizeMeta_1`)
Executing (default): SELECT `name` FROM `SequelizeMeta` AS `SequelizeMeta` ORDER BY `SequelizeMeta`.`name` ASC;
Executing (default): PRAGMA foreign_keys = false;
Executing (default): SELECT name FROM sqlite_master WHERE type='table' AND name='conversations';
Executing (default): PRAGMA INDEX_LIST(`conversations`)
Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_conversations_1`)
Executing (default): SELECT name FROM sqlite_master WHERE type='table' AND name='messages';
Executing (default): PRAGMA INDEX_LIST(`messages`)
Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_messages_1`)
Executing (default): SELECT name FROM sqlite_master WHERE type='table' AND name='speeches';
Executing (default): PRAGMA INDEX_LIST(`speeches`)
Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_speeches_1`)
Executing (default): SELECT name FROM sqlite_master WHERE type='table' AND name='audios';
Executing (default): PRAGMA INDEX_LIST(`audios`)
Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_audios_1`)
Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_audios_2`)
Executing (default): SELECT name FROM sqlite_master WHERE type='table' AND name='cache_objects';
Executing (default): PRAGMA INDEX_LIST(`cache_objects`)
Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_cache_objects_1`)
Executing (default): SELECT name FROM sqlite_master WHERE type='table' AND name='pronunciation_assessments';
Executing (default): PRAGMA INDEX_LIST(`pronunciation_assessments`)
Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_pronunciation_assessments_1`)
Executing (default): SELECT name FROM sqlite_master WHERE type='table' AND name='recordings';
Executing (default): PRAGMA INDEX_LIST(`recordings`)
Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_recordings_1`)
Executing (default): SELECT name FROM sqlite_master WHERE type='table' AND name='transcriptions';
Executing (default): PRAGMA INDEX_LIST(`transcriptions`)
Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_transcriptions_1`)
Executing (default): SELECT name FROM sqlite_master WHERE type='table' AND name='videos';
Executing (default): PRAGMA INDEX_LIST(`videos`)
Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_videos_1`)
Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_videos_2`)
Executing (default): SELECT name FROM sqlite_master WHERE type='table' AND name='SequelizeMeta';
Executing (default): PRAGMA INDEX_LIST(`SequelizeMeta`)
Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_SequelizeMeta_1`)
Executing (default): SELECT 1+1 AS result
Executing (default): VACUUM
Executing (default): SELECT `id`, `target_id` AS `targetId`, `target_type` AS `targetType`, `target_md5` AS `targetMd5`, `state`, `engine`, `model`, `result`, `synced_at` AS `syncedAt`, `c
reat
ed_at` AS `createdAt`, `updated_at` AS `updatedAt` FROM `transcriptions` AS `Transcription` WHERE `Transcription`.`state` = 'processing';
Executing (default): SELECT `Audio`.`id`, `Audio`.`source`, `Audio`.`md5`, `Audio`.`name`, `Audio`.`description`, `Audio`.`metadata`, `Audio`.`cover_url` AS `coverUrl`, `Audio`.`recordings
_cou
nt` AS `recordingsCount`, `Audio`.`recordings_duration` AS `recordingsDuration`, `Audio`.`synced_at` AS `syncedAt`, `Audio`.`uploaded_at` AS `uploadedAt`, `Audio`.`created_at` AS `createdA
t`,
`Audio`.`updated_at` AS `updatedAt`, `transcription`.`id` AS `transcription.id`, `transcription`.`target_id` AS `transcription.targetId`, `transcription`.`target_type` AS `transcription.ta
rget
Type`, `transcription`.`target_md5` AS `transcription.targetMd5`, `transcription`.`state` AS `transcription.state`, `transcription`.`engine` AS `transcription.engine`, `transcription`.`mod
el`
AS `transcription.model`, `transcription`.`result` AS `transcription.result`, `transcription`.`synced_at` AS `transcription.syncedAt`, `transcription`.`created_at` AS `transcription.create
dAt`
, `transcription`.`updated_at` AS `transcription.updatedAt` FROM `audios` AS `Audio` LEFT OUTER JOIN `transcriptions` AS `transcription` ON `Audio`.`id` = `transcription`.`target_id` AND (
`tra
nscription`.`target_type` = 'Audio' AND `transcription`.`target_type` = 'Audio') ORDER BY `updatedAt` DESC LIMIT 10;
Executing (default): SELECT `Video`.`id`, `Video`.`source`, `Video`.`md5`, `Video`.`name`, `Video`.`description`, `Video`.`metadata`, `Video`.`cover_url` AS `coverUrl`, `Video`.`recordings
_cou
nt` AS `recordingsCount`, `Video`.`recordings_duration` AS `recordingsDuration`, `Video`.`synced_at` AS `syncedAt`, `Video`.`uploaded_at` AS `uploadedAt`, `Video`.`created_at` AS `createdA
t`,
`Video`.`updated_at` AS `updatedAt`, `transcription`.`id` AS `transcription.id`, `transcription`.`target_id` AS `transcription.targetId`, `transcription`.`target_type` AS `transcription.ta
rget
Type`, `transcription`.`target_md5` AS `transcription.targetMd5`, `transcription`.`state` AS `transcription.state`, `transcription`.`engine` AS `transcription.engine`, `transcription`.`mod
el`
AS `transcription.model`, `transcription`.`result` AS `transcription.result`, `transcription`.`synced_at` AS `transcription.syncedAt`, `transcription`.`created_at` AS `transcription.create
dAt`
, `transcription`.`updated_at` AS `transcription.updatedAt` FROM `videos` AS `Video` LEFT OUTER JOIN `transcriptions` AS `transcription` ON `Video`.`id` = `transcription`.`target_id` AND (
`tra
nscription`.`target_type` = 'Video' AND `transcription`.`target_type` = 'Video') ORDER BY `updatedAt` DESC LIMIT 10;
Executing (default): SELECT `id`, `key`, `value`, `ttl`, `created_at` AS `createdAt`, `updated_at` AS `updatedAt` FROM `cache_objects` AS `CacheObject` WHERE `CacheObject`.`key` = 'audible
-boo
ks' LIMIT 1;
Executing (default): SELECT `id`, `key`, `value`, `ttl`, `created_at` AS `createdAt`, `updated_at` AS `updatedAt` FROM `cache_objects` AS `CacheObject` WHERE `CacheObject`.`key` = 'ted-tal
ks'
LIMIT 1;
Executing (default): SELECT `id`, `key`, `value`, `ttl`, `created_at` AS `createdAt`, `updated_at` AS `updatedAt` FROM `cache_objects` AS `CacheObject` WHERE `CacheObject`.`key` = 'ted-ide
as'
LIMIT 1;
Executing (default): SELECT `id`, `key`, `value`, `ttl`, `created_at` AS `createdAt`, `updated_at` AS `updatedAt` FROM `cache_objects` AS `CacheObject` WHERE `CacheObject`.`key` = 'youtube
-vid
eos' LIMIT 1;
13:45:37.790 (providers/audible-provider) › Scraping https://www.audible.com/adblbestsellers?searchCategory=&page=1&pageSize=20
Executing (default): SELECT `Audio`.`id`, `Audio`.`source`, `Audio`.`md5`, `Audio`.`name`, `Audio`.`description`, `Audio`.`metadata`, `Audio`.`cover_url` AS `coverUrl`, `Audio`.`recordings
_cou
nt` AS `recordingsCount`, `Audio`.`recordings_duration` AS `recordingsDuration`, `Audio`.`synced_at` AS `syncedAt`, `Audio`.`uploaded_at` AS `uploadedAt`, `Audio`.`created_at` AS `createdA
t`,
`Audio`.`updated_at` AS `updatedAt`, `transcription`.`id` AS `transcription.id`, `transcription`.`target_id` AS `transcription.targetId`, `transcription`.`target_type` AS `transcription.ta
rget
Type`, `transcription`.`target_md5` AS `transcription.targetMd5`, `transcription`.`state` AS `transcription.state`, `transcription`.`engine` AS `transcription.engine`, `transcription`.`mod
el`
AS `transcription.model`, `transcription`.`result` AS `transcription.result`, `transcription`.`synced_at` AS `transcription.syncedAt`, `transcription`.`created_at` AS `transcription.create
dAt`
, `transcription`.`updated_at` AS `transcription.updatedAt` FROM `audios` AS `Audio` LEFT OUTER JOIN `transcriptions` AS `transcription` ON `Audio`.`id` = `transcription`.`target_id` AND (
`tra
nscription`.`target_type` = 'Audio' AND `transcription`.`target_type` = 'Audio') ORDER BY `updatedAt` DESC LIMIT 0, 10;
Executing (default): SELECT `id`, `source`, `md5`, `name`, `description`, `metadata`, `cover_url` AS `coverUrl`, `recordings_count` AS `recordingsCount`, `recordings_duration` AS `recordin
gsDu
ration`, `synced_at` AS `syncedAt`, `uploaded_at` AS `uploadedAt`, `created_at` AS `createdAt`, `updated_at` AS `updatedAt` FROM `audios` AS `Audio` WHERE `Audio`.`id` = 'a0ee36ad-71d5-5c0
9-a4
e4-b06480f3a1f9';
Executing (default): SELECT `id`, `source`, `md5`, `name`, `description`, `metadata`, `cover_url` AS `coverUrl`, `recordings_count` AS `recordingsCount`, `recordings_duration` AS `recordin
gsDu
ration`, `synced_at` AS `syncedAt`, `uploaded_at` AS `uploadedAt`, `created_at` AS `createdAt`, `updated_at` AS `updatedAt` FROM `audios` AS `Audio` WHERE `Audio`.`id` = 'a0ee36ad-71d5-5c0
9-a4
e4-b06480f3a1f9';
Executing (default): SELECT `Recording`.`id`, `Recording`.`target_id` AS `targetId`, `Recording`.`target_type` AS `targetType`, `Recording`.`md5`, `Recording`.`filename`, `Recording`.`refe
renc
e_id` AS `referenceId`, `Recording`.`reference_text` AS `referenceText`, `Recording`.`duration`, `Recording`.`synced_at` AS `syncedAt`, `Recording`.`uploaded_at` AS `uploadedAt`, `Recordin
g`.`
created_at` AS `createdAt`, `Recording`.`updated_at` AS `updatedAt`, `pronunciationAssessment`.`id` AS `pronunciationAssessment.id`, `pronunciationAssessment`.`target_id` AS `pronunciation
Asse
ssment.targetId`, `pronunciationAssessment`.`target_type` AS `pronunciationAssessment.targetType`, `pronunciationAssessment`.`reference_text` AS `pronunciationAssessment.referenceText`, `p
ronu
nciationAssessment`.`accuracy_score` AS `pronunciationAssessment.accuracyScore`, `pronunciationAssessment`.`completeness_score` AS `pronunciationAssessment.completenessScore`, `pronunciati
onAs
sessment`.`fluency_score` AS `pronunciationAssessment.fluencyScore`, `pronunciationAssessment`.`prosody_score` AS `pronunciationAssessment.prosodyScore`, `pronunciationAssessment`.`pronunc
iati
on_score` AS `pronunciationAssessment.pronunciationScore`, `pronunciationAssessment`.`grammar_score` AS `pronunciationAssessment.grammarScore`, `pronunciationAssessment`.`vocabulary_score`
AS
`pronunciationAssessment.vocabularyScore`, `pronunciationAssessment`.`topic_score` AS `pronunciationAssessment.topicScore`, `pronunciationAssessment`.`result` AS `pronunciationAssessment.r
esul
t`, `pronunciationAssessment`.`synced_at` AS `pronunciationAssessment.syncedAt`, `pronunciationAssessment`.`created_at` AS `pronunciationAssessment.createdAt`, `pronunciationAssessment`.`u
pdat
ed_at` AS `pronunciationAssessment.updatedAt` FROM `recordings` AS `Recording` LEFT OUTER JOIN `pronunciation_assessments` AS `pronunciationAssessment` ON `Recording`.`id` = `pronunciation
Asse
ssment`.`target_id` WHERE `Recording`.`target_id` = 'a0ee36ad-71d5-5c09-a4e4-b06480f3a1f9' AND `Recording`.`target_type` = 'Audio' AND `Recording`.`reference_id` = 0 ORDER BY `createdAt` D
ESC
LIMIT 0, 10;
Executing (52e207f2-fa67-42d1-bcdb-e6e8a21e5415): BEGIN DEFERRED TRANSACTION;
Executing (52e207f2-fa67-42d1-bcdb-e6e8a21e5415): SELECT `id`, `target_id` AS `targetId`, `target_type` AS `targetType`, `target_md5` AS `targetMd5`, `state`, `engine`, `model`, `result`,
`syn
ced_at` AS `syncedAt`, `created_at` AS `createdAt`, `updated_at` AS `updatedAt` FROM `transcriptions` AS `Transcription` WHERE `Transcription`.`target_id` = 'a0ee36ad-71d5-5c09-a4e4-b06480
f3a1
f9' AND `Transcription`.`target_type` = 'Audio' LIMIT 1;
Executing (52e207f2-fa67-42d1-bcdb-e6e8a21e5415): COMMIT;
Executing (default): SELECT `target_id` AS `targetId`, `target_type` AS `targetType`, `reference_id` AS `referenceId`, `reference_text` AS `referenceText`, COUNT(`reference_id`) AS `count`
, SU
M(`duration`) AS `duration` FROM `recordings` AS `Recording` WHERE `Recording`.`target_id` = 'a0ee36ad-71d5-5c09-a4e4-b06480f3a1f9' AND `Recording`.`target_type` = 'Audio' GROUP BY `refere
nceI
d` ORDER BY `referenceId` ASC;
Executing (default): SELECT `id`, `key`, `value`, `ttl`, `created_at` AS `createdAt`, `updated_at` AS `updatedAt` FROM `cache_objects` AS `CacheObject` WHERE `CacheObject`.`key` = 'transla
te-1
a1d7dfbc145b7c8b1beb743315fdeba' LIMIT 1;
Executing (default): SELECT `id`, `key`, `value`, `ttl`, `created_at` AS `createdAt`, `updated_at` AS `updatedAt` FROM `cache_objects` AS `CacheObject` WHERE `CacheObject`.`key` = 'analyze
-1a1
d7dfbc145b7c8b1beb743315fdeba' LIMIT 1;
Executing (default): SELECT `Conversation`.`id`, `Conversation`.`name`, `Conversation`.`engine`, `Conversation`.`configuration`, `Conversation`.`created_at` AS `createdAt`, `Conversation`.
`upd
ated_at` AS `updatedAt` FROM `conversations` AS `Conversation` ORDER BY `updatedAt` DESC LIMIT 0, 5;
13:45:42.824 (providers/audible-provider) › Scraped https://www.audible.com/adblbestsellers?searchCategory=&page=1&pageSize=20
^C✔ Checking your system
✔ Locating application
✔ Loading configuration
✔ Preparing native dependencies: 1 / 1 [0.4s]
✔ Running generateAssets hook
其中,enjoy:start 启动后,点击 r 键后,录音,我再点击 r 键以停止录音,这时的截图如下:
版本出于四月六号的 50794276fca4b93406a28c8b5daf3396e1a87245。
先后执行
enjoy:make
和enjoy:start
的结果如下:其中,
enjoy:start
启动后,点击 r 键后,录音,我再点击 r 键以停止录音,这时的截图如下:play recording 也没有声音。