9.18 微信小程序开发笔记

如何获取英语单词的发音,使其能在小程序界面通过点击外发?

1.通过外界API获取(例如有道API)

不下载音频文件,每次需要时直接API获取发音,存储压力小。但是一般的API都有使用次数限制,在背单词这种发音请求次数高的情况下,估计次数很快就会用完。可能速度也比较慢。

2.批量下载单词发音音频文件到本地,数据库中发音字段提供音频文件路径

【墨墨英语单词库免费开源无偿分享】小学、初中、高中、大学四六级专四专八、考研、托福、雅思等词书文本大合集_墨墨背单词api-CSDN博客

借助上述资源,获得了CET6.txt文件(6000+行,每行一个单词)

更具以下代码,借助有道API,获取了CET6.txt文件中每个单词的MP3音频文件,存在audio文件夹中

python 复制代码
import requests
import os

# 读取单词列表
def read_words(file_path):
    with open(file_path, 'r', encoding='utf-8') as file:
        words = [line.strip() for line in file if line.strip()]
    return words

# 下载发音音频
def download_audio(word):
    url = f"http://dict.youdao.com/dictvoice?type=1&audio={word}"
    response = requests.get(url)
    
    if response.status_code == 200:
        # 创建文件夹以保存音频文件
        if not os.path.exists('audio'):
            os.makedirs('audio')
        
        # 保存为MP3文件
        file_path = os.path.join('audio', f"{word}.mp3")
        with open(file_path, 'wb') as audio_file:
            audio_file.write(response.content)
        print(f"Downloaded: {file_path}")
    else:
        print(f"Failed to download audio for: {word}")

# 主程序
def main():
    words = read_words('D:\WeChatCourse\WordsPronunciation\CET6.txt')
    for word in words:
        download_audio(word)

if __name__ == "__main__":
    main()
相关推荐
qeen8717 小时前
【C++】类与对象之类的默认成员函数(二)
android·c语言·开发语言·c++·笔记·学习
m0_7360348518 小时前
存储基础和虚拟化
笔记
AOwhisky19 小时前
MySQL 学习笔记(第六期):MySQL 备份与恢复
运维·数据库·笔记·学习·mysql·云计算
华山沦贱20 小时前
open62541 V1.5.4版对C++ Builder支持的bug
笔记
稷下元歌21 小时前
七天学会plc 加机器视觉完整笔记:S7-1200 数据类型、存储区与寻址方式(I/Q/M/DB 详解)。
网络·数据库·笔记
逸模21 小时前
AI+BIM 重构连锁公装新范式 逸模打造数字化营建核心底座
大数据·人工智能·笔记·其他·信息可视化·重构
xqqxqxxq1 天前
树结构技术学习笔记
数据结构·笔记·学习
十月的皮皮1 天前
C语言学习笔记202606008- 三角形判断(3种方法)
c语言·笔记·学习
XGeFei1 天前
【Fastapi学习笔记(6)】—— Fastapi文件上传、请求头自动转换
笔记·学习·fastapi
嘶哈哈哈1 天前
嘉立创 EDA 入门实操笔记:从原理图到 PCB 布线、差分对、覆铜与 DRC 检查
开发语言·笔记·php