基于GStreamer的MP3播放器开发
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
形式存在 ,在运行期间 由 G t a e 动态加载 ,并 被链 接成一 Sr m r e 个管道 。C r 模块 则为插件 提供 了一个集成 框架 ,插件模 块 oe 之间数据流的处理 以及媒体类 型的协商 。
组件在运行 期有 4种 状态 ,并且 只能在相邻 的两个状 态
之间发生转换 : ()缺 省状 态 G T S A E Nu L 1 S T T _ L ,所有的运 行期的资源包括共享库以及 内存等都没 有分配 ; ()准备状 2
p e n ai n o 3 P a e a e n GSr a r r me o k lme t t f MP ly rb s d o t me a w r . o a e f Ke r s y wo d :GSr a r Mu t d aF a wo k; t me ; l me i r me r MP ly r; l g i e i 3P a e P u — n
C HEN Ⅱ n g
( n n ioh agUnvri Naj g 2 17 ) Naj gX azu n i s y, ni 1 1 1 i e t n
Ab t a t s r c :GS r a ri w d l s d L n x s s m e in b s d O p n s u c l me i rme o k p p l e T i p p r t me s i ey u e i u y t d sg a e 1 o e o r e mu t d a f e e 1 i a w r ie i . h s a e n s mma i s t e o e ve f G t a ra c i cu e a d i a i o c p , n h n d s u s s te meh d o e in a d i u rz h v r iw o S r me r ht t r n t b sc c n e t a d t e ic s e h t o fd sg n m- e e e s
得应用程序更 易于维护 。G t a e 框架 的功能涵盖 了音 频的 Sr m r e 输入输 出以及视频 的输入输 出,因此基于 G t a e 可以开发 Sr m r e
组件会 向管 道提供媒 体数据 ,比如文件访 问组件 、声音获取
各种各样 的多媒体应用 程序 ,包括音 乐 、视 频播放 器 、录音
本 的编 程 概 念 ,讨 论 了基 于 G t a r 架 开 发 MP 播 放 器 的设 计 与 实现 方 法 。 Sr me 框 e 3 关 键 词 : G t a e ;多媒 体 框 架: P Sr m r e M 3播 放 器 ; 件 插
T eDe eo me t fMP ly rBa e n C te me h v lp n 3 P a e s d o , r a r o S
准备 接 收或者处理 数据 ,S k组件 此时接 收到一个 B f r i n u e 的
机程序 ,以及移动设备中的照相机软件等。 G ta r Sr me 的一大显著特点就是其 基于插件 的模块化设计 , e
如 图 1 示 。 G t a r 系统 架 构 可 以 分 为 两 部 分 :核 心 模 所 Sr me 的 e
组 件等 ; () 过滤型 组件 ft lm n,它把从输入 型组件 2 ie ee e t lr 中获取 的媒体数 据进 行处理 ,比如进行格 式转换 、解复用 d — e
型 ,其 组件 可 以 分 为 : () 输 入 型组 件 suc lm n,这 种 1 oree et e
G t a e 是 一个功能大 的开源 的多媒体框架 ,它对底层 Sr m r e 的多媒体编解码 器和硬件设备 驱动进行 了抽象 和封装 ,提供
了简单灵活的 A I P ,降低 了上层应用程序开发 的难度பைடு நூலகம்,并且使
态 G T S A E R A Y,此 时运行 期 的资源 已经被 分配 ,但 S_T T ED
—
是还没 有媒 体数 据 ; ()暂 停 G T S A E P U E 3 S _ T T _ A S D,组件
圆
l
圈
I
囤
I
程 应序 用
Gr e Sar tm 框 e
库
mue、复用 m xr xr u e、编解码 cd c等 ; ()输 出型组件 s k oe 3 i n e met l n,这类组 件负责媒体 数据 的最后 的输 出 ,比如输 出到 e 音频设备 、视频设备 ,以及输 出到文件 、网络 等。
块 cr o e和插件部分。G t a r S eme 把多媒体数 据的输入 、编解码 r 处理 以及输 出都 以插件模块集 成到系统 中 。插件 以共享 库 的
1 GS r a r t me e
组件是 G t a r S eme 中的一个重 要对象 ,是 G t a e 插件 r Sr m r e
在运行 时的实例化 。应用程序 运行时 ,G t a e 会根 据媒体 Sr m r e 格式 以及设 备环境 动态加载相应 的插件 ,被实 例化 的组件 对 象就会 有序地链 接到一个管道 ppl e中。根据插件功能的类 i i en
电 脑 编 程 技 巧 与 维 护
基 于 G t a e 的MP Sr m r e 3播 放 器 开 发
陈 玲
( 南京晓庄学院 ,南京 2 17 ) 111
摘 要 : G t a e 是 Lnx系统 中广 泛运 用 的基 于 管道 设 计 的 开 源 多媒 体 框 架 。概 述 了 G t a e 的 架 构 以 及 其 基 Sr m r e iu Sr m r e
组件在运行 期有 4种 状态 ,并且 只能在相邻 的两个状 态
之间发生转换 : ()缺 省状 态 G T S A E Nu L 1 S T T _ L ,所有的运 行期的资源包括共享库以及 内存等都没 有分配 ; ()准备状 2
p e n ai n o 3 P a e a e n GSr a r r me o k lme t t f MP ly rb s d o t me a w r . o a e f Ke r s y wo d :GSr a r Mu t d aF a wo k; t me ; l me i r me r MP ly r; l g i e i 3P a e P u — n
C HEN Ⅱ n g
( n n ioh agUnvri Naj g 2 17 ) Naj gX azu n i s y, ni 1 1 1 i e t n
Ab t a t s r c :GS r a ri w d l s d L n x s s m e in b s d O p n s u c l me i rme o k p p l e T i p p r t me s i ey u e i u y t d sg a e 1 o e o r e mu t d a f e e 1 i a w r ie i . h s a e n s mma i s t e o e ve f G t a ra c i cu e a d i a i o c p , n h n d s u s s te meh d o e in a d i u rz h v r iw o S r me r ht t r n t b sc c n e t a d t e ic s e h t o fd sg n m- e e e s
得应用程序更 易于维护 。G t a e 框架 的功能涵盖 了音 频的 Sr m r e 输入输 出以及视频 的输入输 出,因此基于 G t a e 可以开发 Sr m r e
组件会 向管 道提供媒 体数据 ,比如文件访 问组件 、声音获取
各种各样 的多媒体应用 程序 ,包括音 乐 、视 频播放 器 、录音
本 的编 程 概 念 ,讨 论 了基 于 G t a r 架 开 发 MP 播 放 器 的设 计 与 实现 方 法 。 Sr me 框 e 3 关 键 词 : G t a e ;多媒 体 框 架: P Sr m r e M 3播 放 器 ; 件 插
T eDe eo me t fMP ly rBa e n C te me h v lp n 3 P a e s d o , r a r o S
准备 接 收或者处理 数据 ,S k组件 此时接 收到一个 B f r i n u e 的
机程序 ,以及移动设备中的照相机软件等。 G ta r Sr me 的一大显著特点就是其 基于插件 的模块化设计 , e
如 图 1 示 。 G t a r 系统 架 构 可 以 分 为 两 部 分 :核 心 模 所 Sr me 的 e
组 件等 ; () 过滤型 组件 ft lm n,它把从输入 型组件 2 ie ee e t lr 中获取 的媒体数 据进 行处理 ,比如进行格 式转换 、解复用 d — e
型 ,其 组件 可 以 分 为 : () 输 入 型组 件 suc lm n,这 种 1 oree et e
G t a e 是 一个功能大 的开源 的多媒体框架 ,它对底层 Sr m r e 的多媒体编解码 器和硬件设备 驱动进行 了抽象 和封装 ,提供
了简单灵活的 A I P ,降低 了上层应用程序开发 的难度பைடு நூலகம்,并且使
态 G T S A E R A Y,此 时运行 期 的资源 已经被 分配 ,但 S_T T ED
—
是还没 有媒 体数 据 ; ()暂 停 G T S A E P U E 3 S _ T T _ A S D,组件
圆
l
圈
I
囤
I
程 应序 用
Gr e Sar tm 框 e
库
mue、复用 m xr xr u e、编解码 cd c等 ; ()输 出型组件 s k oe 3 i n e met l n,这类组 件负责媒体 数据 的最后 的输 出 ,比如输 出到 e 音频设备 、视频设备 ,以及输 出到文件 、网络 等。
块 cr o e和插件部分。G t a r S eme 把多媒体数 据的输入 、编解码 r 处理 以及输 出都 以插件模块集 成到系统 中 。插件 以共享 库 的
1 GS r a r t me e
组件是 G t a r S eme 中的一个重 要对象 ,是 G t a e 插件 r Sr m r e
在运行 时的实例化 。应用程序 运行时 ,G t a e 会根 据媒体 Sr m r e 格式 以及设 备环境 动态加载相应 的插件 ,被实 例化 的组件 对 象就会 有序地链 接到一个管道 ppl e中。根据插件功能的类 i i en
电 脑 编 程 技 巧 与 维 护
基 于 G t a e 的MP Sr m r e 3播 放 器 开 发
陈 玲
( 南京晓庄学院 ,南京 2 17 ) 111
摘 要 : G t a e 是 Lnx系统 中广 泛运 用 的基 于 管道 设 计 的 开 源 多媒 体 框 架 。概 述 了 G t a e 的 架 构 以 及 其 基 Sr m r e iu Sr m r e