基于Linux的internet收音机的实现



Similar documents
何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

I

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

<4D F736F F D20BFC9B1E0B3CCD0F2BFD8D6C6CFB5CDB3C9E8BCC6CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类

国家职业标准:网络课件设计师

修改版-操作手册.doc

(Microsoft Word - NCRE\314\345\317\265\265\367\325\37313\324\27221\272\3051.doc)

金融全渠道银行彩页中文版0702

《C语言基础入门》课程教学大纲

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

(1) 连 续 从 事 本 职 业 工 作 2 年 以 上, 经 本 职 业 助 网 络 编 辑 师 正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 (2) 取 得 本 职 业 网 络 编 辑 员 职 业 资 格 证 书 后, 连 续 从 事 本 职 业 工 作 2 年

深圳市新亚电子制程股份有限公司

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

·岗位设置管理流程

航天信息 方案

多媒体作品制作员国家职业标准

上证指数

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 ( 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 ( 首 页

国家职业标准计算机操作员

白皮书

目 录 第 一 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 硬 件 使 用 介 绍... 3 第 二 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 管 理 员 端 功 能 使 用 介 绍 系 统 管 理 员 登 陆 班

全国教师资格认定管理信息系统

<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63>

课程类 别

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用


中 中 中 中 部 中 岗 位 条 件 历 其 它 历 史 师 地 理 师 生 物 师 体 与 健 康 师 从 事 中 历 史 工 从 事 中 地 理 工 从 事 中 生 物 工 从 事 中 体 与 健 康 工 2. 课 程 与 论 ( 历 史 ); 2. 科 ( 历 史 )

中 国 软 科 学 年 第 期!!!

MC100监控编辑软件

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语

1 系统概述

工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 目 录 1 造 价 企 业 登 录 企 业 基 本 信 息 查 看 企 业 人 员 信 息 查 看 企 业 基 本 信 息 操 作 企 业 简 介 企 业 章

操作手册

声 明 中 国 银 行 间 市 场 交 易 商 协 会 ( 简 称 交 易 商 协 会 ) 颁 布 中 国 银 行 间 市 场 汇 率 衍 生 产 品 交 易 定 义 文 件 (2012 年 版 ) ( 简 称 汇 率 定 义 文 件 ), 旨 在 通 过 向 金 融 衍 生 产 品 市 场 参 与

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

2009—2010级本科课程教学大纲与课程简介格式

目 录 一 插 入 您 的 保 密 杀 毒 U 盘 3 二 控 制 面 板 USB SECURE ANTIVIRUS 实 时 监 控 USB SECURE ANTIVIRUS 手 动 扫 描 USB SECURE ANTIVIRUS 开 放 空 间 存 取 12

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

PowerPoint 演示文稿

<4D F736F F D20B3D6B2D6CFDEB6EEB1EDB8F1D7EED6D52E646F63>

<4D F736F F D2033D4C2C6DAD4D3D6BEA3A8B6A8B8E5CEC4BCFEA3A92E646F63>

2016年南开大学MBA招生信息

ETF、分级基金规模、份额变化统计

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

物 流 从 业 人 员 职 业 能 力 等 级 证 书 分 为 四 个 级 别, 分 别 为 初 级 助 理 级 中 级 和 高 级 ; 采 购 从 业 人 员 职 业 能 力 等 级 证 书 分 为 三 个 级 别, 分 别 为 中 级 高 级 和 注 册 级 请 各 有 关 单 位 按 照 通

生产支援功能 使用说明书(IP-110 篇)

采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

网络保险箱客户端使用手册

第 一 部 分 MagiCAD for Revit 安 装 流 程

第三章 作业

济南有人物联网技术有限公司

第1篇 道路桥梁工程技术核心专业课程标准及学习绩效考评体系

Microsoft Word - Disclose.doc

标题

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

Microsoft Word - 第3章.doc

Cybozu Garoon 3 管理员手册

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

2012级三年制计算机应用技术专业(物联网应用方向)专业标准.doc

抗 日 战 争 研 究 年 第 期

目 录 1 简 介 1 2 产 品 规 格 1 3 配 置 前 提 1 4 配 置 环 境 服 务 器 软 件 2 5 配 置 指 导 组 网 拓 扑 测 试 步 骤 移 除 虚 拟 机 删 除 虚 拟 机

电信系教学大纲的基本规范

系统语音文件

<4D F736F F D20C6F3D2B5C5E0D1B5CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

通用短信平台HTTP接口使用说明V1.0.4

云信Linux SSH认证代理用户手册

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

乐视云视频发行平台 操作手册 V1.1



微软用户

上海证券交易所会议纪要

目 录 版 本 更 新 说 明 导 读 读 者 对 象 手 册 内 容 简 介 软 件 简 介 基 本 术 语 技 术 支 持 基 本 流 程 操 作 步 骤... 8

幻灯片 1

国债回购交易业务指引

证监会行政审批事项目录

Microsoft Word - GT21L16S2W简要说明V3.7.doc

<4D F736F F D20416E64726F CAD6BBFABCE0BFD8BFCDBBA7B6CBCAB9D3C3CAD6B2E15F56322E302E646F63>

内 容 二 : 建 立 并 完 善 了 三 点 的 网 络 教 学 管 理 体 系 内 容 三 : 注 重 培 养 学 生 的 听 说 能 力 14

2.5 选 举 陈 晓 非 女 士 为 第 六 届 董 事 会 董 事 候 选 人 的 议 案 ; 2.6 选 举 卢 婕 女 士 为 第 六 届 董 事 会 董 事 候 选 人 的 议 案 ; 2.7 选 举 张 文 君 先 生 为 第 六 届 董 事 会 独 立 董 事 候 选 人 的 议 案

西 南 民 族 学 院 学 报 哲 学 社 会 科 学 版 第 卷 资 料 来 源 中 国 统 计 年 鉴 年 年 新 中 国 五 十 年 统 计 资 料 汇 编 中 国 人 口 统 计 年 鉴 年 数 据 资 料 来 源 中 国 统 计 年 鉴 中 国 统 计 出 版 社 年 版 资 料 来 源

ICS 35

中 日 信 息 化 的 比 较 与 合 作 一 中 日 信 息 化 的 规 模 比 较

Microsoft Word - bz185fj.doc

标准名称

目 录 第 一 章 行 政 办 公 介 绍 行 政 办 公 的 作 用... 4 第 二 章 行 政 办 公 使 用 说 明 会 议 管 理 会 议 管 理 概 述 如 何 设 置 会 议 室 如

中国石化油品销售企业CRM调研报告

关于2010年上半年(31次)全国计算机等级考试报名的通知

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

<433A5C446F63756D656E E E67735C CD7C0C3E65CA3A8D5E3D6B0BCBCBCF8A1BE A1BF34BAC5A3A9D5E3BDADCAA1D6B0D2B5BCBCC4DCBCF8B6A8D6B8B5BCD6D0D0C4B9D8D3DAD7F6BAC C4EAB9FABCD2D6B0D2B5D7CAB8F1CDB3D2BBBCF8B6A8B

目 录 第 一 章 总 则... 1 第 二 章 基 金 账 户 的 开 立... 1 第 三 章 交 易 账 户... 1 第 四 章 投 资 人 网 上 交 易 的 开 通... 2 第 五 章 投 资 人 基 金 账 户 信 息 变 更... 2 第 六 章 交 易 密 码... 2 第 七


防拷贝加密硬盘

<4D F736F F D20696F CAD6BBFABCE0BFD8BFCDBBA7B6CBCAB9D3C3CAD6B2E15F56322E302E646F63>

第 9 章 如 果 打 印 机 通 过 FireWire 连 接, 则 HP 建 议 使 用 FireWire 模 块 添 加 打 印 机, 以 充 分 利 用 FireWire 打 印 的 各 项 功 能, 并 且 仅 使 用 IP over Firewire 访 问 打 印 机 的 内 嵌 式

引言

 编号:

Transcription:

基 于 Linux 的 internet 收 音 机 的 实 现 王 辉

版 权 } 华 清 远 见 嵌 入 式 培 训 中 心 版 权 所 有 ; } 未 经 华 清 远 见 明 确 许 可, 不 能 为 任 何 目 的 以 任 何 形 式 复 制 或 传 播 此 文 档 的 任 何 部 分 ; } 本 文 档 包 含 的 信 息 如 有 更 改, 恕 不 另 行 通 知 ; } 保 留 所 有 权 利 2

今 日 内 容 大 纲 } Internet Radio 功 能 简 介 } Linux 应 用 层 Mplayer 简 介 } Mplayer 的 输 入 -Keypad driver } Mplayer 的 声 音 输 出 -sound driver

Internet Radio 功 能 简 介 } 也 叫 IP Radio, 可 以 实 时 收 听 网 络 电 台 } rtsp://211.167.134.41/broadcast/live3 } mms://211.89.225.101/live3 } http://www.stv.sh.cn/1422.asx

Internet Radio 功 能 要 点 } 网 络 功 能 } Ethernet WiFi 网 络 层 } TCP/IP } rtsp mms http } upnp } DHCP client } 多 媒 体 功 能 } 立 体 声 声 音 输 出 } Line Out Line In } MP3 WMA RA(Real Audio) 解 码 功 能 } 时 钟 功 能 } 实 时 时 钟 RTC } 网 络 时 钟 同 步 NTP } 存 储 功 能 } SD 卡 播 放 } U 盘 播 放 } SD 卡 升 级 } 用 户 交 互 界 面 } 按 键 } 红 外 遥 控 器 } GUI 界 面

Internet Radio 硬 件 框 图

Internent Radio 软 件 结 构

Mplayer 概 述 } 网 站 http://www.mplayerhq.hu/ } 其 遵 守 GPLv2 许 可 证 } 支 持 本 地 播 放 网 络 数 据 流 获 取 } HTTP/FTP } RTP/RTSP } MMS/MMST } 支 持 常 见 视 频 音 频 格 式 的 编 解 码 } MPEG layer 1, 2, and 3 (MP3) audio } WMA (DivX Audio) v1, v2 } WMA 9 (WMAv3)(using x86 DLLs) } RealAudio: COOK, SIPRO, ATRAC3 (using Real libraries) } RealAudio: DNET and older codecs } 支 持 多 种 音 频 设 备 输 入 设 备 } OSS (Open Sound System) - factory standard under UNIX } ALSA (Advanced Linux Sound Architecture) 0.5/0.9/1.0 for Linux } Keyboard mouse joystick

Mplayer 输 入 及 控 制 } Mplayer 中 输 入 机 制 读 键 值 - 解 析 绑 定 命 令 - 调 用 命 令 code = ((mp_key_func_t)key_fds[i].read_func)(key_fds[i].fd); if (code >= 0) { mp_cmd_t *ret = interpret_key(code, paused); if (ret) } return ret; } 向 Mplayer 注 册 输 入 设 别 : int fd = mp_input_keypad_init(keypadname); mp_input_add_key_fd(fd,1,mp_input_keypad_read,(mp_close _func_t)close); Mplayer cmd process Interpret key and call cmd proc Mplayer input layer($(src)/input) Bind key to cmd 设 备 节 点 /dev/input/event0 } 键 值 与 命 令 的 绑 定 : { { KEY_RIGHT, 0 }, "seek 10" }, { { KEY_LEFT, 0 }, "seek -10" }, { { KEY_UP, 0 }, "seek 60" }, Open/select/ read/close { { KEY_DOWN, 0 }, "seek -60" }, Linux kernel keypad driver

Linux 内 核 input 子 系 统

Linux 内 核 keypad 驱 动 } 键 盘 注 册 : struct input_dev*input_allocate_device(void); int must_check input_register_device(struct input_dev*); struct input_dev{ }; const char *name; unsigned long evbit[bits_to_longs(ev_cnt)]; unsigned long keybit[bits_to_longs(key_cnt)]; unsigned int keycodemax; unsigned int keycodesize; void *keycode; } 获 取 按 键 信 息 : 打 开 press down 中 断 ; 按 键, 进 入 中 断, 判 断 某 键 按 下 stat=firstpress; 防 止 毛 刺, 关 闭 中 断 打 开 kernel timer; 在 timer 中 根 据 按 键 状 态 及 上 一 次 stat 状 态, 如 stat 为 firstpress 并 且 新 状 态 为 按 下, 则 确 认 某 键 按 下, 向 input core 传 递 键 值 void input_report_key(struct input_dev*dev, unsigned int code, int value); 或 input_event(dev, EV_KEY, code,!!value);

Mplayer 音 频 输 出 } Mplayer 中 音 频 输 出 机 制 获 取 音 频 输 出 设 备 - 调 用 设 备 接 口 - 控 制 音 频 设 备 写 出 声 音 数 据 mpctx->audio_out=init_best_audio_out(audio_driver_list, flag ao_data.samplerate, ao_data.channels, ao_data.format,0) } 调 用 音 频 设 备 接 口 : 0, // plugin mpctx->audio_out->play(sh_audio->a_out_buffer, playsize, playflags); } 实 现 mplayer 音 频 设 备 typedefstruct ao_functions_s{ ao_info_t *info; int (*control)(intcmd,void *arg); int(*init)(intrate,intchannels,intformat,intflags); void (*uninit)(intimmed); void (*reset)(void); int (*get_space)(void); int (*play)(void* data,intlen,int flags); float (*get_delay)(void); void (*pause)(void); void (*resume)(void); } ao_functions_t; CALL ao_functions Mplayer ao layer($(src)/libao2) ALSA API Mplayer audio process ALSA-lib ALSA 节 点 /dev/snd/pcmc0d0 /dev/snd/controlc0d0 Open/select/ read/close Linux kernel sound driver OSS 节 点 /dev/dsp /dev/mixer typedef struct ao_functions_s { ao_info_t *info; int (*control)(int cmd,void *arg); int (*init)(int rate,int channels,int format,int flags); void (*uninit)(int immed); void (*reset)(void); int (*get_space)(void); int (*play)(void* data,int len,int flags); float (*get_delay)(void); void (*pause)(void); void (*resume)(void); } ao_functions_t;

Linux 内 核 sound 驱 动 (ALSA) } CARD: struct snd_card *snd_card_new(int idx, const char *id, struct module *module, int extra_size); plb0 cap0... int snd_card_register(struct snd_card *card); } PCM device: int snd_pcm_new(struct snd_card *card, const char *id, int device, int playback_count, int capture_count, struct snd_pcm**rpcm); pcm0... control void snd_pcm_set_ops(struct snd_pcm* pcm, int direction, struct snd_pcm_ops *ops); } Control: Device0 Device1... struct snd_kcontrol*snd_ctl_new1(const struct snd_kcontrol_new * kcontrolnew, void * private_data); int snd_ctl_add(struct snd_card * card, struct snd_kcontrol* kcontrol); Sound card 0...

Q&A 14

15