2024.9.18 微信小程序开发笔记

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

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

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

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

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

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

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

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()

获取每个单词对应的音频文件存储路径,建立excel表格并导入mysql

带音标的1700个程序员英语单词 1631. socket [ˈsɔkit] n. 插座,插孔,插口 1632. stated ['steitid] a. 规定的 1633. protocol [ˈprəʊtəˌkɔ:l] n. 规约,协议,规程 1634. presence [ˈprezəns] n. 存在,有 1635. telephone [ˈtelifəun] n. 电话 1636. social [ˈsəuʃəl] a. 社会的 1637. equipment [iˈkwipmənt] n. 设备,装备,仪器 1638. lending [ˈlendiŋ] n. & a. 借给,出租;借出的 1639. book [buk] n. 书,手册,源程序块 1640. circumstances [ˈsə:kəmstənsiz] n. 情况,环境,细节 1641. situation [ˌsitjuˈeiʃən] n. 情况,状况,势态 1642. desk [desk] n. 书桌,控制台,面板 1643. please [pli:z] v. 请 1644. mixture [ˈmikstʃə] n. 混合物 1645. representation [ˌreprɪzenˈteɪʃən] n. 表示 1646. esoteric [ˌesəˈterɪk] a. 深奥的,奥秘的 1647. depth [depθ] n. 深度,浓度(颜色的) 1648. final [ˈfainəl] a. 最终的 1649. physically [ˈfɪzɪkəlɪ] a. 物理上,实际上 1650. aid [eid] n. 帮助,辅助程序 1651. successive [səkˈsesiv] a. 逐次的,相继的 1652. succession [səkˈseʃən] n. 逐次性,连续性 1653. unpack [ʌnˈpæk] v. 拆开,卸,分开 1654. chunk [tʃʌŋk] n. 厚块,大部分 1655. alignment [əˈlaɪnmənt] n. 序列,成直线 1656. typewriter [ˈtaipˌraitə] n. 打字机 1657. big [big] a. 大的,重要的 1658. tone [təun] n. 音调,音色,色调 1659. sensitive [ˈsensitiv] a. 敏感的,灵敏的 1660. reduction [riˈdʌkʃən] n. 减化,还原,减少 1661. indentation [ˌɪndenˈteɪʃən] n. 缩进,缩排 1662. terminology [ˌtɜ:məˈnɔlədʒi:] n. 术语 1663. ascending [əˈsendiŋ] a. 增长的,向上的 1664. augment [ɔ:ɡˈment] v. 增加,添加,扩充 1665. increment [ˈɪnkrəmənt] n. 增量,加1,递增 1666. gain [gein] n. 增益(系数) 1667. stream [stri:m] n. 流 1668. obsolete [ˌɔbsəˈli:t] a. 作废的,过时的 1669. accommodate [əˈkɔmədeit] v. 调节,适应 1670. motif [məʊˈti:f] n. 主题,要点,特色 1671. subject [ˈsʌbdʒikt] n. 主题,源 1672. job [dʒɔb] n. 作业
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值