# podcaster **Repository Path**: sambsp/podcaster ## Basic Information - **Project Name**: podcaster - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-24 - **Last Updated**: 2026-06-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🎙 播客 — Podcast Player 一个用 Electron 构建的桌面播客客户端,支持 macOS / Windows / Linux。 ## 功能 - 🔍 通过 iTunes Search API 搜索播客 - 📋 查看单集列表和节目信息 - ▶️ 内置音频播放器(播放/暂停/进度条/跳转/音量) - ⏩ 快退15秒 / 快进30秒 - 🔖 订阅管理(本地持久化存储) - 🎨 深色主题,现代 UI 设计 ## 快速开始 ### 安装依赖 ```bash cd podcast-app npm install ``` ### 启动应用 ```bash npm start ``` ## 使用方法 1. **搜索播客**:在发现页面搜索框输入关键词 2. **浏览单集**:点击任意播客卡片打开详情页 3. **收听**:点击单集列表中的集数即可播放 4. **订阅**:在详情页点击「订阅」按钮 5. **管理订阅**:点击左侧「我的订阅」查看所有订阅 ## 技术栈 - **Electron** — 跨平台桌面应用框架 - **iTunes Search API** — 播客搜索 - **RSS 解析** — 内置轻量 RSS 解析器 - **原生 HTML5 Audio** — 音频播放 ## 项目结构 ``` podcast-app/ ├── package.json └── src/ ├── main.js # Electron 主进程 ├── preload.js # 安全 IPC 桥接 ├── index.html # 主界面 └── app.js # 渲染进程逻辑 ``` ## node.js sdk 1、安装 nvm 搜索下载nvm,双击安装 2、使用 nvm安装 node.js nvm install 22 nvm use 22 ## 项目创建 1、创建新文件夹,test 2、cd test 3、npm init -y 4、npm install electron --save-dev --verbose 5、查看是否electron已经安装好(也即run自己的工程) npx electron . 如果弹出对话框 index.js没有,那么就是electron安装好了。注意,22版本不需要electron下面有path.txt。 具体的弹框: Error launching app Unable to find Electron app at [path]. Cannot find module '[path].index.js'. Please verify the package.json has a valid "main" entry. 注意: 官方国内环境下载很慢,我们需要设置镜像: npm config edit 命令会利用写字板打开文件,然后在此文件中加入 registry=https://registry.npmmirror.com/ 单纯这个设置会遇到audit error,可以通过 npm config edit中 audit=false 关闭audit,不影响安装结果。 ## 打包 npm install --save-dev @electron-forge/cli npm electron-forge import npm run make 遇到setup.exe关闭窗口再弹窗口的问题,通过main.js中的 const startup = require('electron-squirrel-startup'); if (startup) { // 如果是 Squirrel 安装程序在处理安装过程 app.quit(); // 应该直接退出 } 解决 ## 参考: https://www.electronjs.org/docs/latest/tutorial/tutorial-packaging