今天讲一下对VLC播放器音频播放功能进行二次开发,讲解如何改造音乐播放相关功能.最近一直在忙着优化视频解码部分代码,因为我的视频播放器需要在一台主频比较低的机器上跑(800M主频),所以视频解码能力受到极大考验,VLC的解码库挺复杂,花了两三周时间,也只看了点皮毛. 这里说几句题外话,中间也尝试过使用其他的解码器,其中选了目前比较有名的Vitamio来试验,不过它让我大失所望,对于720*420的视频解码能力竟然还不如Beta版的VLC的解码,我测试一个立方体旋转视频,播放的时候,整个视频画面变…
上一篇讲了VLC整个程序的模块划分和界面主要使用的技术,今天分析一下VLC程序初始化过程,主要是初始化界面.加载解码库的操作.今天主要分析一下org.videolan.vlc.gui.MainActivity类,这个是VLC的整个程序入口.当然,严格来说,整个程序入口是VLCApplication类,因为VLC重载了Application,在我分析过的代码里面,貌似稍微复杂一点的程序,都喜欢重载Application.我自己写的一些程序也喜欢重载Application,因为可以提供一些全局功能和…
前面几章讲解了使用 nginx-rtmp搭建直播流媒体服务器; ffmpeg推流到nginx-rtmp服务器; java通过命令行调用ffmpeg实现推流服务; 从数据源获取,到使用ffmpeg推流,再到nginx-rtmp发布流,后端的服务到这里就已经全部完成了. 如果这里的流程没走通,那么这里的播放器也是没办法播放实时流的. 本章讲一下播放器的选用和二次开发,前端的播放器虽然有flex(flash)可以用,但是很遗憾flex接触的并不多,学习成本又太高,那么基于第三方开源的flash播放器二…
最近因为一个新项目需要一个多媒体播放器,所以需要做个视频.音频.图片方面的播放器.也查阅了不少这方面的资料,如果要从头做一个播放器工作量太大了,而且难度也很大.所以最后选择了VLC作为基础,进行二次开发.选择VLC的原因有两个,第一:VLC在其他平台很成熟,解码器方面支持很完善.第二:VLC已经实现了完整的视频播放和音频播放功能.开发速度可以加快很多. 下面给出两张截图,主要是为了方便后面讲解程序结构使用,可以对照着图片看.界面和原版VLC差不多,我只是把ActionBar和视频列表做了一些调整…
需求1:将内存卡中的MP3音乐读取出来并显示到列表当中 1.   从数据库中查询所有音乐数据,保存到List集合当中,List当中存放的是Mp3Info对象 2.   迭代List集合,把每一个Mp3Info对象的所有属性,保存到Map对象当中 3.   定义一个List集合,把Map对象添加到List集合当中 4.   通过定义一个SimpleAdpter,调用setAdpter方法,将数据显示到列表当中 /** * 用于从数据库中查询歌曲的信息,保存在List当中 * * @return *…
背景 公司最近在做VR直播平台,VR开发我们用到了Unity,而在Unity中播放视频就需要一款视频插件,我们调研了几个视频插件,记录两个,如下: Unity视频插件调研 网上搜了搜,最流行的有以下两款Unity插件: AVPro 这个在Unity商店售价150$,最新release版本为1.6.15,功能包括: Powerful cross-platform video playback solution for Unity. Native video playback on Android,…
因工作需要,要用vlc视频播放器实现开机自动全屏播放某个网络视频流.百度了下,说的都很模糊,经过整理,设置方法如下: 一,添加视频流地址:rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov 二,导出视频流列表文件 三,打开windows启动文件夹 WIN+R 调出"运行"面板 复制或输入下面的启动文件夹路径,并点击确定:(弹出来的文件夹即为开机启动文件夹) %programdata%\Microsoft\Wi…
Android音乐播放器 使用到Android的Actiivity和Service组件 播放音频的代码应该运行在服务中,定义一个播放服务MusicService,服务里定义play.stop.pause.continuePlay等方法 把这几个方法抽取成一个接口MusicInterface 定义一个中间人类,继承Binder,实现MusicInterface 操作按钮等使用Activity与用户交互 同时为了把服务所在进程变成服务进程,防止Activity销毁时依旧执行Service,需要使用S…
做了一天的音乐播放器小项目,已经上传到github,将链接发到这里供大家参阅提议 https://github.com/wangpeng0531/MusicPlayer.git…
一.MediaPlayer对象常用方法介绍: MediaPlayer mediaPlayer = new MediaPlayer(); if (mediaPlayer.isPlaying()) { mediaPlayer.reset();//重置为初始状态 } mediaPlayer.setDataSource("/mnt/sdcard/god.mp3"); mediaPlayer.prepare();//缓冲 mediaPlayer.start();//开始或恢复播放 mediaPl…