当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • vue-ts-demo
  • 二十种编程语言庆祝中秋节
  • 若依笔记(六):前后端token鉴权体系
  • 初始爬虫1(补充)
  • 【YashanDB认证】探索YashanDB的学习历程
  • QT学习与数据库连接
  • 鸿蒙Harmony应用开发,数据驾驶舱网络请求(Axios) 封装
  • 数据库事务的详解
  • Apache Cordova开发教程-入门基础
  • eth-trunk 笔记
  • 电源模块启动过冲测试项目该如何在ATECLOUD中搭建?
  • a√斗地主之顺子
  • 传输层协议——udp/tcp
  • STL,智能指针和线程安全,线程安全的单例模式和懒汉饿汉的实现,以及读者写者问题
  • 如何用 Helm Chart 安装指定版本的 GitLab Runner?
  • 【剑指offer】让抽象问题具体化
  • 【知识碎片】第三方登录弹窗效果
  • bearychat的java client
  • Bootstrap JS插件Alert源码分析
  • css属性的继承、初识值、计算值、当前值、应用值
  • Java 多线程编程之:notify 和 wait 用法
  • Laravel Mix运行时关于es2015报错解决方案
  • miaov-React 最佳入门
  • vue:响应原理
  • 从零开始在ubuntu上搭建node开发环境
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 讲清楚之javascript作用域
  • 每天一个设计模式之命令模式
  • 那些被忽略的 JavaScript 数组方法细节
  • 应用生命周期终极 DevOps 工具包
  • 优化 Vue 项目编译文件大小
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • #Lua:Lua调用C++生成的DLL库
  • (12)Hive调优——count distinct去重优化
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (Forward) Music Player: From UI Proposal to Code
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (二)Kafka离线安装 - Zookeeper下载及安装
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (力扣)1314.矩阵区域和
  • (四) Graphivz 颜色选择
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (一)Dubbo快速入门、介绍、使用
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • .net 无限分类
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .net连接MySQL的方法
  • /etc/motd and /etc/issue
  • @Bean注解详解