流媒体MP3播放器教程
Android多媒体MediaPlayer使用详解

Android多媒体MediaPlayer使⽤详解现在的⼿机功能越来越丰富了,遥想10年前,MP3,MP4,MP5,还是很流⾏的,博主当时读⾼中时很想拥有⼀台,可以听⾳乐和看电影。
可是条件有限,学校也禁⽌此东西,所以只能偷偷的玩。
⽽现在我们的⼿机也很早以前就⽀持了这些功能,⽽且界⾯和功能也远远超过了MP4。
好吧,说多了,今天本⽂介绍的是Andriod系统⾃带的Mediaplayer,和VideoView实现简单的⾳乐和视频的播放,⾄于想做出如酷狗⾳乐这样的APP的话,只要想做,应该也不难,都是基于此实现了功能的扩展。
Android的MediaPlayer包含了Audio和Video的播放功能,在Android的界⾯上,Music和Video两个应⽤程序都是调⽤MediaPlaer来实现的。
⼀、播放⾳频⽂件⾸先看看MediaPlaer的⽣命周期下⾯是MediaPlayer提供的常⽤⽅法⽅法说明MediaPlayer构造⽅法create创建⼀个要播放的多媒体getCurrentPosition得到当前播放位置getDuration得到⽂件的时间getVideoHeight得到视频的⾼度getVideoWidth得到视频的宽度isLooping是否循环播放isPlaying是否正在播放pause暂停prepare准备(同步)prepareAsync准备(异步)release释放MediaPlayer对象相关的资源reset重置MediaPlayer对象为刚刚创建的状态seekTo指定播放的位置(以毫秒为单位的时间)setAudioStreamType设置流媒体的类型setDataSource设置多媒体数据来源(位置)setDisplay设置⽤SurfaceHolder来显⽰多媒体setLooping设置是否循环播放setOnButteringUpdateListener⽹络流媒体的缓冲监听setOnErrorListener设置错误信息监听setOnVideoSizeChangedListener视频尺⼨监听setScreenOnWhilePlaying设置是否使⽤SurfaceHolder来保持屏幕显⽰setVolume设置⾳量start开始播放stop停⽌播放MediaPlayer的⼯作流程是这样的:1,⾸先创建MediaPlaer对象; *2,然后调⽤setDataSource()⽅法来设置⾳频⽂件的路径;**3,再调⽤prepare()⽅法使MediaPlayer进⼊到准备状态;4,调⽤start⽅法就可以播放⾳频。
五招搞定在线流媒体下载

五招搞定在线流媒体下载现在的大部分电影和音乐网站只能在线收看或收听,但不能下载。
那么有没有方法可以下载呢?当然有了,下面介绍几个我平时摸索的小技巧。
下载流媒体的困难之处在于找到它的URL,即链接地址,如果找到了它,那就什么问题也都解决了。
怎样找URL呢?跟我来吧!1.从HTML源代码中查找在IE的菜单“查看”中点“源文件”按钮,用记事本打开源文件,点记事本的“编辑”菜单中的“查找”,然后输入流媒体文件的后缀名SWF、WMV、RM、ASF、AVI,当你找到它们时,你就看到了下载的链接地址了!最典型的是闪客帝国的Flash,只要查找到SWF的后缀名,就可以知道它的flash下载地址了。
2.保存文件查找法选定一首在线视听的MP3,右键单击目标另存为,将会有一个“.m3u”的文件被保存,然后用“记事本”打开该文件,在记事本中找到“http://***//***.m3u”或者“http://***//***.mp3”,如果是前一个,则将其中的m3u改为mp3,然后将链接复制到FlashGet中,即可下载。
如果是后一个,直接复制到FlashGet中下载即可。
3. RAM或ASX中查找有时找到地址下载后,用播放软件打开却不能看,查看文件大小只有几百KB,一部电影怎么可能这么小呢?原来RAM或ASX是一种代替RM或ASF的文本,用记事本打开ASX或RAM文件,就可以找到电影的地址了!4.播放器属性中找如果使用RealOne Player播放器播放影片,在播放器的菜单栏中选择“文件→剪辑属性→查看剪辑信息”,在弹出的“剪辑属性”对话框中选择“文件”选项,在这里就可以看到当前播放的影音文件的地址了。
5.看属性查找法先打开网站,然后在播放影片的链接上点右键,看它的属性,就可以找到下载的链接地址了,这种通常是MMS或PNM等协议的,把地址复制到下载工具中,就可以下了。
以上几种方法可以综合使用,相信大部分网站上的流媒体文件都可以下载了,这只是我个人的一点体会,希望大家一起探讨流媒体的下载技术,让免费资源暴露无遗。
poweramp使用技巧

poweramp使用技巧Poweramp是一款功能强大的音乐播放器,拥有丰富的使用技巧,下面将为大家介绍几个使用Poweramp的技巧。
一、创建播放列表在Poweramp中,用户可以根据自己的喜好和需求创建多个播放列表。
创建播放列表非常简单,只需要在主界面左侧的菜单中选择“新建播放列表”,然后输入播放列表的名称即可。
用户还可以通过长按歌曲或专辑,选择“添加到播放列表”将其添加到指定的播放列表中。
二、使用均衡器调节音效Poweramp内置了强大的均衡器,可以帮助用户调节音效,提升听歌的体验。
用户可以在播放界面的底部点击“均衡器”按钮,进入均衡器界面。
在这里,用户可以根据自己的喜好调节低音、中音和高音的强度,以及选择不同的预设音效模式。
三、设置定时关闭Poweramp还提供了定时关闭的功能,可以在用户设定的时间内自动停止播放。
用户可以在设置界面中找到“定时关闭”选项,然后设置关闭的时间。
这对于喜欢在睡前听歌的用户来说特别方便,避免了因忘记关闭音乐而影响睡眠。
四、使用睡眠计时器除了定时关闭,Poweramp还提供了睡眠计时器的功能。
用户可以在设置界面中找到“睡眠计时器”选项,然后设置计时的时间。
在这段时间内,Poweramp会逐渐减小音量并最终停止播放音乐,帮助用户更好地入睡。
五、设置音乐文件夹Poweramp可以自动扫描手机中的音乐文件,并将其显示在播放界面中。
用户可以在设置界面中找到“音乐文件夹”选项,然后选择需要扫描的文件夹。
这样,用户就可以方便地浏览和播放手机中的音乐文件了。
六、使用标签编辑器Poweramp还内置了标签编辑器,可以帮助用户编辑音乐文件的标签信息,包括歌曲名、艺术家、专辑等。
用户可以在播放界面的菜单中选择“编辑标签”进入标签编辑器界面,然后对音乐文件的标签信息进行修改和保存。
七、设置快捷方式Poweramp支持在手机桌面上创建音乐播放的快捷方式。
用户只需要在主界面的菜单中选择“添加快捷方式”,然后选择需要创建快捷方式的歌曲或专辑即可。
如何使用无线路由器的媒体服务器功能

无线路由器现在已经成为了我们日常生活中不可或缺的设备之一。
除了提供稳定的网络连接,还拥有许多其它功能。
其中一个非常实用的功能就是媒体服务器。
通过无线路由器的媒体服务器功能,我们可以将存储在电脑或网络硬盘等设备上的媒体文件,如音乐、电影、照片等,无线传输到其它设备上。
本文将讨论如何充分利用无线路由器的媒体服务器功能。
1. 媒体服务器的设置与连接首先,我们需要正确设置和连接媒体服务器。
通常,现代的无线路由器都会有一个媒体服务器选项,在路由器的管理页面中可以找到。
进入管理页面后,我们需要选择启用媒体服务器功能,并设置共享的媒体文件路径。
然后,将存储有媒体文件的设备(如电脑、网络硬盘)与无线路由器连接。
可以通过有线连接或者Wi-Fi连接将设备与路由器连接起来。
确保连接的设备与路由器处于同一个局域网,并且支持媒体服务器功能。
2. 流媒体播放器的选择在使用无线路由器的媒体服务器功能之前,我们需要选择一个合适的流媒体播放器。
流媒体播放器可以将媒体文件从媒体服务器流式传输到不同的设备上,如智能手机、平板电脑、智能电视等。
目前,有许多不同的流媒体播放器可供选择。
其中一些是专门为特定设备开发的应用程序,如DLNA(数字生活网络联盟)播放器、AirPlay播放器等。
我们可以根据自己所用的设备选择合适的流媒体播放器,并安装在设备上。
3. 媒体文件的管理与共享在无线路由器的媒体服务器中,我们可以管理和共享媒体文件。
首先,我们需要将所需的媒体文件存储在路由器或连接的设备上。
随后,在管理页面中,我们可以选择共享的媒体文件路径,并对其进行设置。
除了共享文件路径外,还可以设置媒体服务器的访问权限。
根据自己的需求,可以选择对所有人开放、仅限局域网内的用户开放、或仅限指定用户开放等。
4. 远程访问和在线分享无线路由器的媒体服务器还支持远程访问和在线分享。
通过远程访问,我们可以在不同的地方,使用不同的设备访问和播放媒体文件。
只需要确保设备连接到互联网,并正确设置媒体服务器的远程访问权限。
流媒体MP4视频格式如何转换为MP3格式呢

mp4是目前一种非常流行的流媒体视频格式,凭借其良好的兼容性而备受用户们的青睐。
尽管如此,有时候它也会给用户们带来不便。
比如说:当您想在便携MP3播放器上播放MP4格式的视频时,会发现该视频文件无法兼容,我们需要将MP4格式转换为mp3格式,那么这两者之间如何实现格式转换呢?迅捷视频转换器是一款好用的视频转换器,它能够支持转换几乎所有主流的多媒体文件格式,包括视频,音频,图像等格式的转换。
1、转换mp4视频格式之前,我们要下载迅捷视频转换器,在浏览器中搜索进入下载,在此推荐到其官网中下载软件,避免其他网站会在软件中加入病毒。
2、安装完成之后,点击进入软件之中,我们就要添加视频文件开始转换格式了。
点击添加文件或者将视频拖拽添加到软件之中,也可点击添加文件夹进行批量转换。
3、确定之后,设置选择输出的格式。
设置输出视频格式的地方在右上角,点击视频,然后选择mp3格式,音质选择同原文件即可。
4、如果你需要更多设置,就可以点击自定义设置,设置完成之后,点击确定即可。
5、以上该设置的都已经设置完成了,那么现在就可以开始转换视频格式了。
点击右下角的开始转换,转换时间是根据视频的大下来决定,视频越大,时间当然越久,等到进度条变成百分之百就完成了。
是不是很简单呢?有需要的赶紧来试试吧!。
什么是流媒体

什么是流媒体?所谓流媒体是指采用流式传输的方式在Internet/Intranet播放的媒体格式,如音频、视频或多媒体文件。
流媒体有三种:在线的、上网下载的叫做网络流媒体;DV、MP3等家庭数码产品叫做个人流媒体;移动硬盘和U盘等存储资源叫做移动流媒体。
流媒体最大的特点在于互动性,这也是互联网最具吸引力的地方。
什么是流媒体电视?网络流媒体、个人流媒体和移动流媒体以前只局限在电脑上播放,但网络时代需要将这些数码设备“团结”起来,实现电视、网络和数码设备之间互动互联,流媒体电视便应运而生。
流媒体电视实现了让MP3、摄像机、照相机、移动硬盘、U盘以及各种各样卡的内容在电视机上直接播放,做到信息共享。
流媒体电视不但具备了平板电视的所有功能,更兼容1200P、1080P等高清格式,让消费者在电视和数码设备之间互动互联,成为真正的家庭数码产品显示中心。
真正的流媒体电视是指一种产业结构,就像说到数字电视一样,单纯一个电视机只能说拥有流媒体技术,确切地讲不能把它叫做流媒体电视。
真正的流媒体电视是指一种产业结构,需要整合各种资源,由产业政策、上下游关系、终端设备和用户等诸多要素组成。
(记者刘科宏)流媒体播放器流媒体播放器通常指能把视频文件通过流式传输的方式在Internet播放的播放器。
现在比较流行的流媒体播放器Real PlayerMedia Player Classic超级兔子之快乐影音Window Media Player暴风影音QQ影音迅播GVOD播放器Flash Player播放器的历史使用媒体播放器(不论是离线播放器还是网络播放器)的家庭用户从2000年1月的3320万猛增到2001年1月的4170万。
在工作中使用媒体播放器的专业用户数量也较去年同期上升了34.9%,从2000年1月的1160万增加到2001年1月的1570万。
RealNetworks公司的媒体播放器不但在家庭用户使用覆盖率上遥遥领先,在工作中使用其播放器的专业用户数量也以1050万之众高居媒体播发器用户使用量排行榜首。
无线发射车载 MP3 播放器 说明书

无线发射车载MP3播放器使用说明书一,产品介绍无线发射车载MP3播放器通过USB接口读取USB中的MP3中的音乐文件,音乐文件格式支持MP3(MPEG layer 1 ,2 and 3 audio decoder)和微软公司的WMA(WMA2--WMA9),由FM无线广播发射方式将MP3的歌曲的信号发送给汽车内的立体声收音机,然后通过车内音响播放。
它还可以连接MP3播放器以及CD/MD播放机等外置音频设备,并将音乐信号发送给车载收音机收听。
您只需将USB 优盘(闪存盘)插入本机的USB接口并将车内的调频立体声收音机调到车载MP3所对应的发射频率就可以聆听您所喜爱的立体声MP3音乐了。
二,功能(1)内置FM发射器,用于向收音机发送信号。
(2)直接读取移动优盘(闪存盘)中MP3/WMA格式的音频文件,通过车载收音机收听。
(3)接通电源后,车载MP3播放器将自动开始播放并具有自动全部歌曲循环播放的功能。
(4)具有LINE-IN功能,可通过耳机接口输入外部音源,并将外部音源发送给车载收音机收听。
(5)配有四个功能键:PLAY/PAUSE,PREV/V-,NEXT/V+和CH。
(6)预设88.1MHz—88.9MHz 之间的的五个频道,可按CH键切换频道。
(7)采用汽车电烟器插座稳压电源(车用12V DC电源)。
(8)标准USB接口高速传输。
(9)五个绿色LED灯分别指示5个预设的频道。
(10)1个红色LED灯指示工作状态(播放或暂停)。
三,基本操作A,收听MP3音乐(1) 将存有MP3文件的USB 优盘(闪存盘)插入USB接口。
(2) 将车载MP3播放器插入汽车内的点烟器插座获取12V的DC电源,车载MP3播放器自动开始播放音乐,并具有自动全部歌曲循环播放的功能。
(3) 可按车载MP3播放器上的“CH”键切换频率,或者使用默认频道88.1MHz(4) 将汽车内的收音机频率设定为车载MP3播放器上的绿色LED灯指示的频率或让车载FM立体声收音机自动搜索该频率即可收听音乐。
苹果8代mp3使用说明书

苹果8代mp3使用说明书
苹果8代所推出的移动播放器为ipod系列,但就mp3而言,指的应该是ipod shuffle。
ipod shuffle最初代早在20xx推出,是第一个以闪存作为存储介质的机种。
它的第一代产品采用了口香糖式的设计,小巧而又美观,至于播放效果也同样十分出色。
shuffle2在设计上则又做出了改进,采用了夹子式的设计,方便用户在运动时听音乐。
shuffle3则重新进行了外形设计,使其体积变得更加小巧,同时新增了五种颜色可供消费者选择。
shuffle4则回归了传统的夹子式外观,十分精致,而且便于携带与配带,以下是苹果8代mp3使用方法:
1、下载歌曲:shuffle无法直接下载歌曲,而是只能通过itune s软件导入歌曲到播放器中。
将shuffle与电脑连接,打开itune软件导入相应格式的音乐文件即可。
2、开/关机:在机身的侧面,有一个on/off 开关键,开机时只需将其拨到on一侧,而关机时将其拨到off侧。
3、播放操作:通过机身上的按键,我们可以进行上一首、下一首、增大音量、调小音量、播放、暂停等操作,只需按下对应的按键即可。
同样,这些操作也可以通过苹果的耳机来进行。
4、播放模式:播放模式的调整,只要简单地通过shuffle的开关键来调节。
拨到左侧,对应的是随机播放模式;拨到中间,相应的为顺序播放模式;而拨到右侧(也就是off一侧),shuffle 关机。
5、特殊功能voice over:在播放歌曲时,如果想知道当前歌曲的具体信息,我们可以按下顶部的新增按钮,shuffle就会播报出当前歌曲的名称、歌手。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于libmad 的简单MP3流媒体播放器的实现.介绍本文在Fedora 5 Linux 下实现了一个基于libmad 的mp3 流媒体播放器。
此流媒体播放器可以播放基于HTTP 1.1 协议传输的MP3 流媒体数据。
基本原理是:从HTTP 服务器获得MP3 媒体信息,然后通过网络传输把MP3 数据以数据流的形式接收到MP3 流媒体播放器客户端,由客户端通过libmad 解码MP3 数据流,得到PCM 音频数据,写入音频设备,播放音乐。
本文的流媒体播放器只是实现了必要的简单功能,没有考虑太多情况。
比如,没有考虑实时播放控制,这样的话就不能随意选取播放点进行播放。
本文的MP3 流媒体播放器创建两个线程,使用两个缓冲区保存MP3 数据,可以一边下载数据,一边播放音乐。
编译运行此MP3 流媒体播放器需要安装libmad(/prodUCts/mad/) 以及ALSA(Advanced Linux Sound Architecture)()相关的软件。
ALSA包括4部分,分别是sound driver, sound library , sound utilities 以及tools。
至少应该安装sound driver, sound library 。
编译程序时连接库的选项是:-lmad -lasound -lpthread。
本文的MP3 流媒体播放器使用双缓冲区,一个是数据接收缓冲区,另一个是数据解码缓冲区。
主程序结构如下图所示,图中的蓝色线表示数据流向。
图1:MP3 流媒体播放器主程序结构图2.libmad简介MAD (libmad)是一个开源的高精度MPEG 音频解码库,支持MPEG-1(Layer I, Layer II 和LayerIII(也就是MP3)。
LIBMAD 提供24-bit 的PCM 输出,完全是定点计算,非常适合没有浮点支持的平台上使用。
使用libmad 提供的一系列API,就可以非常简单地实现MP3 数据解码工作。
在libmad 的源代码文件目录下的mad.h 文件中,可以看到绝大部分该库的数据结构和API 等。
本文用到的libmad 中的主要数据结构有:struct mad_stream, struct mad_synth, struct mad_frame。
它们的定义如下:清单1:libmad 中的主要数据结构struct mad_stream {unsigned char const *buffer; /* input bitstream buffer */ unsigned char const *bufend; /* end of buffer */unsigned long skiplen; /* bytes to skip before next frame */int sync; /* stream sync found */unsigned long freerate; /* free bitrate (fixed) */ unsigned char const *this_frame; /* start of current frame */ unsigned char const *next_frame; /* start of next frame */ struct mad_bitptr ptr; /* current processing bit pointer */struct mad_bitptr anc_ptr; /* ancillary bits pointer */ unsigned int anc_bitlen; /* number of ancillary bits */ unsigned char (*main_data)[MAD_BUFFER_MDLEN];/* Layer III main_data() */unsigned int md_len; /* bytes in main_data */int options; /* decoding options (see below) */enum mad_error error; /* error code (see above) */ };更多内容请看流媒体播放器流媒体文件格式播放技巧专题,或如果缓冲区最后一个MPEG 数据帧只有部分数据包括在缓冲区中,那么structmad_stream中的next_frame域指到不完整数据的开始地址。
∙由于缓冲区的MPEG 数据帧不一定完整,所以不完整的MPEG 帧的数据必须拷贝到下一次解码操作的缓冲区中,进行再次解码。
这里我们还看到bufend指向缓冲区数据的最后地址,也就是最后一字节的地址加 1 的位置。
mad_stream.bufend –mad_stream.next_frame就是剩余的未被解码的MPEG 帧的数据的字节数量(假设此帧在缓冲区中不完整)。
mad_stream的error域用来记录操作mad_stream得到的错误代码。
错误代码在mad.h 中有很详细的定义。
∙清单2:错误代码在mad.h 中的详细定义∙struct mad_synth {∙ mad_fixed_t filter[2][2][2][16][8]; /* polyphase filterbank outputs */∙ /* [ch][eo][peo][s][v] */∙ unsigned int phase; /* current processing phase */∙ struct mad_pcm pcm; /* PCM output */∙};mad_synth中的关键域pcm保存解码和合成后得到的PCM 数据。
清单3:mad_synth 中的关键域struct mad_pcm {unsigned int samplerate; /* sampling frequency (Hz) */ unsigned short channels; /* number of channels */unsigned short length; /* number of samples per channel */mad_fixed_t samples[2][1152]; /* PCM output samples[ch][sample] */};struct mad_pcm定义了音频的采样率、每个声道个数以及最后的PCM 采样数据。
这些参数可用来初始化音频设备。
清单4:struct mad_pcmstruct mad_frame {struct mad_header header; /* MPEG audio header */ int options; /* decoding options (from stream) */mad_fixed_t sbsample[2][36][32]; /* synthesis subband filter samples */mad_fixed_t (*overlap)[2][32][18]; /* Layer III block overlap data */};mad_frame是记录MPEG 帧解码后的数据的数据结构,其中的mad_header尤其重要,其用来记录MPEG 帧的一些基本信息,比如MPEG 层数、声道模式、流比特率、采样比特率等等。
声道模式包括单声道、双声道、联合立体混音声以及一般立体声。
清单5:mad_frameenum mad_mode {MAD_MODE_SINGLE_CHANNEL = 0, /* single channel */ MAD_MODE_DUAL_CHANNEL = 1, /* dual channel */MAD_MODE_JOINT_STEREO = 2, /* joint (MS/intensity) stereo */MAD_MODE_STEREO = 3 /* normal LR stereo */ };struct mad_header {enum mad_layer layer; /* audio layer (1, 2, or 3) */ enum mad_mode mode; /* channel mode */int mode_extension; /* additional mode info */enum mad_emphasis emphasis; /* de-emphasis to use */unsigned long bitrate; /* stream bitrate (bps) */ unsigned int samplerate; /* sampling frequency (Hz) */ unsigned short crc_check; /* frame CRC accumulator */ unsigned short crc_target; /* final target CRC checksum */ int flags; /* flags */int private_bits; /* private bits */mad_timer_t duration; /* audio playing time of frame */};下面就本文使用的API 的功能做简单介绍。
在本文中用到的API 包括:void mad_stream_init(struct mad_stream *)void mad_synth_init(struct mad_synth *);void mad_frame_init(struct mad_frame *);以上3个API 初始化解码需要的数据结构。
void mad_stream_buffer(struct mad_stream *, unsigned char const *, unsigned long);此函数把原始的未解码的MPEG 数据和mad_stream数据结构关联,以便使用mad_frame_decode( )来解码MPEG 帧数据。
int mad_frame_decode(struct mad_frame *, struct mad_stream *);把mad_stream中的MPEG 帧数据解码。
void mad_synth_frame(struct mad_synth *, struct mad_frame const *);把解码后的音频数据合成PCM 采样。
void mad_stream_finish(struct mad_stream *);void mad_frame_finish(struct mad_frame *);mad_synth_finish(struct mad_synth);以上 3 个API 在解码完毕后使用,释放libmad 占用的资源等。