1.å¦ä½å°vlcåµå
¥å°androidä¸
2.Ijkplayer、源码ExoPlayer、下载VLC播放器综合比较
3.免费影音播放软体VLC for Android(手机版)
4.android4.4.2有什么值得推荐的源码软件?
å¦ä½å°vlcåµå ¥å°androidä¸
ããåvlc-android移æ¤çéåé½åºè¯¥ç¥éï¼å½ç¼è¯å®vlc-android æºç åEventManager.java
ç±»ä¸å®ä¹äºè®¸å¤äºä»¶ï¼ä¸é¢æ¯æºç ä¸é¨åï¼
ããpublic class EventManager {
ãã
ãã/
*ãã* Be sure to subscribe to events you need in the JNI too.
ãã*/
ãã
ãã//public static final int MediaMetaChanged = 0;
ãã//public static final int MediaSubItemAdded = 1;
ãã//public static final int MediaDurationChanged = 2;
ãã//public static final int MediaParsedChanged = 3;
ãã//public static final int MediaFreed = 4;
ãã//public static final int MediaStateChanged = 5;
ãã
ãã//public static final int MediaPlayerMediaChanged = 0x;
ãã//public static final int MediaPlayerNothingSpecial = 0x;
ãã//public static final int MediaPlayerOpening = 0x;
ãã//public static final int MediaPlayerBuffering = 0x;
ããpublic static final int MediaPlayerPlaying = 0x;
ããpublic static final int MediaPlayerPaused = 0x;
ããpublic static final int MediaPlayerStopped = 0x;
ãã
ãã......
ãã}
ããå¯æ¯å¯¹äºè¿äºäºä»¶æå¾å¤é½è¢«æ³¨éæäºï¼å½æ们éè¦è¢«æ³¨éæçäºä»¶æ¶ï¼å°±ç®æ注éæ¿æï¼åè°ç¨mEventManager.addHandler(EventManager.getInstance())æ·»å äºä»¶ä¹åï¼ä¹ä¸ä¼å¨å®ä¹çmEventHandler
çhandleMessage()ä¸çå¬å°ï¼ä¸é¢ä¸ºä¸ä¸ªmEventHandlerå®ä¹çdemo:
ãã[java] view plaincopy
ããprivate final VideoEventHandler mEventHandler = new VideoEventHandler(this);
ããprivate class VideoEventHandler extends WeakHandler<DtvPlayer>{
ããpublic VideoEventHandler(DtvPlayer owner) {
ããsuper(owner);
ãã}
ãã@Override
ããpublic void handleMessage(Message msg) {
ããDtvPlayer activity = getOwner();
ããif(activity == null) return;
ããswitch (msg.getData().getInt("event")) {
ããcase EventManager.MediaPlayerBuffering:
ããLog.d(TAG, "MediaPlayerBuffering");
ããbreak;
ããcase EventManager.MediaPlayerEncounteredError:
ããLog.d(TAG, "MediaPlayerEncounteredError");
ããbreak;
ãã......
ããdefault:
ããLog.e(TAG, String.format("Event not handled (0x%x)", msg.getData().getInt("event")));
ããbreak;
ãã}
ããsuper.handleMessage(msg);
ãã}
ãã}
ããé£ä¹å¦ä½æè½å¤å¨mEventHandlerä¸çå¬å°æ们éè¦çäºä»¶å¢ï¼ä¸é¢å°è¿å ¥ä¸»é¢ã
ããå¨libvlcjni.cä¸æä¸ä¸ªéæ常éï¼å ¶ä¸æå®äºæ们ç®åéè¦è·ååªäºäºä»¶ï¼
ãã[html] view plaincopy
ããstatic const libvlc_event_type_t mp_events[] = {
ããlibvlc_MediaPlayerPlaying,
ããlibvlc_MediaPlayerPaused,
ããlibvlc_MediaPlayerEndReached,
ããlibvlc_MediaPlayerStopped,
ããlibvlc_MediaPlayerVout,
ããlibvlc_MediaPlayerPositionChanged
ãã};
ããä½ å¯ä»¥å°èªå·±éè¦çäºä»¶æ·»å å¨éé¢ï¼ç¶åå°EventManagerä¸ååºçäºä»¶æ³¨éæ¿æï¼ä¹åéæ°ç¼è¯æºç å°±å¯ä»¥åmEventHandlerä¸è·åä½ åæ·»å çäºä»¶äºã
ããï¼ä¾å¦ï¼ä½ è¦æ³è·åMediaPlayerEncounteredErroräºä»¶ï¼å å°libvlc_MediaPlayerEncounteredErroræ·»å å¨mp_events[]éæ常éä¸ï¼æ³¨æï¼è¿éåé¢å¤äºlibvlc_ï¼ï¼ç¶åæEventManagerä¸çpublic
static final int MediaPlayerEncounteredError =
0xa;注éæ¿æï¼éæ°ç¼è¯æºç ä¹åå°±å¯ä»¥å¨ä½ å¾mEventHandler
çhandleMessage()ä¸è·åå°EventManger.MediaPlayerEncounteredErroräºä»¶ï¼ã
ããå¨vlc-android/vlc/lib/event.cä¸å®ä¹äºææäºä»¶ï¼
ãã[cpp] view plaincopy
ãã#define DEF( a ) { libvlc_##a, #a, },
ãã
ããtypedef struct
ãã{
ããint type;
ããconst char name[];
ãã} event_name_t;
ãã
ããstatic const event_name_t event_list[] = {
ããDEF(MediaMetaChanged)
ããDEF(MediaSubItemAdded)
ããDEF(MediaDurationChanged)
ããDEF(MediaParsedChanged)
ããDEF(MediaFreed)
ããDEF(MediaStateChanged)
ãã
ããDEF(MediaPlayerMediaChanged)
ããDEF(MediaPlayerNothingSpecial)
ããDEF(MediaPlayerOpening)
ããDEF(MediaPlayerBuffering)
ããDEF(MediaPlayerPlaying)
ããDEF(MediaPlayerPaused)
ããDEF(MediaPlayerStopped)
ããDEF(MediaPlayerForward)
ããDEF(MediaPlayerBackward)
ããDEF(MediaPlayerEndReached)
ããDEF(MediaPlayerEncounteredError)
ããDEF(MediaPlayerTimeChanged)
ããDEF(MediaPlayerPositionChanged)
ããDEF(MediaPlayerSeekableChanged)
ããDEF(MediaPlayerPausableChanged)
ããDEF(MediaPlayerTitleChanged)
ããDEF(MediaPlayerSnapshotTaken)
ããDEF(MediaPlayerLengthChanged)
ããDEF(MediaPlayerVout)
ãã
ããDEF(MediaListItemAdded)
ããDEF(MediaListWillAddItem)
ããDEF(MediaListItemDeleted)
ããDEF(MediaListWillDeleteItem)
ãã
ããDEF(MediaListViewItemAdded)
ããDEF(MediaListViewWillAddItem)
ããDEF(MediaListViewItemDeleted)
ããDEF(MediaListViewWillDeleteItem)
ãã
ããDEF(MediaListPlayerPlayed)
ããDEF(MediaListPlayerNextItemSet)
ããDEF(MediaListPlayerStopped)
ãã
ããDEF(MediaDiscovererStarted)
ããDEF(MediaDiscovererEnded)
ãã
ããDEF(VlmMediaAdded)
ããDEF(VlmMediaRemoved)
ããDEF(VlmMediaChanged)
ããDEF(VlmMediaInstanceStarted)
ããDEF(VlmMediaInstanceStopped)
ããDEF(VlmMediaInstanceStatusInit)
ããDEF(VlmMediaInstanceStatusOpening)
ããDEF(VlmMediaInstanceStatusPlaying)
ããDEF(VlmMediaInstanceStatusPause)
ããDEF(VlmMediaInstanceStatusEnd)
ããDEF(VlmMediaInstanceStatusError)
ãã};
ãã#undef DEF
ããå ¶ä¸DEF()å°MediaPlayerEncounteredErrorå®ä¹ä¸ºlibvlc_MediaPlayerEncounteredError,å½æ¬å°ä»£ç 产çMediaPlayerEncounteredErroräºä»¶æ¶ä¼å°libvlc_MediaPlayerEncounteredErrorä¼ éç»jniï¼ä¸æ¤åæ¶jniåä¼ä¼ éç»javaå±ãä¸ç®¡æ¯æ¬å°libvlc_MediaPlayerEncounteredErrorè¿æ¯javaå±MediaPlayerEncounteredErrorï¼å¯¹äºåä¸ä¸ªäºä»¶è¢«å®ä¹çå¼é½æ¯ç¸åçï¼ä¼ è¾çæ¯åä¸ä¸ªæ¶æ¯å¼ãæ¬å°ä»£ç å®ä¹å¨vlc-android/vlc/include/libvlc_events.h,
java代ç å®ä¹å¨EventManager.javaä¸ã
转载
Ijkplayer、ExoPlayer、下载VLC播放器综合比较
作者:码上就说
全球知名播放器VLC Media Player,源码自年发布以来,下载blob源码因其跨平台特性备受青睐,源码已累计下载超过亿次,下载适用于Windows、源码Mac OS、下载Linux、源码Android和iOS等系统。下载其架构设计为模块化管理,源码由VLC main初始化libVLC并加载用户界面,下载libVLCcore提供模块装载和卸载机制,源码夺金农场源码而access、demux和decode等功能则以模块形式存在,依赖于外部开源库。VLC的优势包括跨平台兼容、功能全面和代码解耦,但Android版本的包体积较大。
与之相比,BiliBili的开源项目IjkPlayer基于ffmpeg开发,专为Android和iOS设计。它以FFplay为核心,利用ffmpeg的扩展性,虽然开发难度相对较低,但扩展性较差,且官方维护更新较慢。逗仙rpg源码ijkplayer包大小更小,大约4.2M。
Google的ExoPlayer作为轻量级播放器,以其集成的MediaCodec和良好的性能著称,尤其适合YouTube项目。它接入简单,但直播支持不足,且解码扩展性一般。ExoPlayer虽有潜力成为Android平台默认播放器,但Android 5.0后架构变化和代码整合的复杂性使其难以实现。
综合考虑,对于Android项目,推荐使用ijkplayer,因为它基于ffmpeg,nginx redis模块 源码支持更多协议且对直播码流切换有更好的处理。VLC虽功能全面但包大且学习成本高。直播场景推荐软件解码方式,如ijkplayer。而对包大小敏感且不介意维护频率的,VLC是个不错选择。长远看,ijkplayer适合基础定制,逐渐演变成个性化播放器。
免费影音播放软体VLC for Android(手机版)
VLC Media Player是一款免费、开放程式码、跨平台、中文化、画面简洁没有广告、uboot源码详解 书功能强大的影音播放软体,支援蓝光、DVD/VCD、MKV、FLV、WMV、MPEG1、MPEG2、MP4、DivX、MP3、OGG、AVI、RM、MOV、FLAC、APE等大多数的影音档案。播放影片十分顺畅,占用系统资源很小,可以直接播放Google云端硬碟线上串流影音,是一款很好用的影音播放软体。关于手机版VLC for Android的安装与使用方法叙述如下:
关于VLC Media Player电脑版的安装与使用详见:免费影音播放软体VLC media player。
1.在Android手机点选「Play商店」。
2.点选「Google Play」。
3.输入与搜寻「vlc」。
4.点选「VLC for Android」。
5.点选「安装」。
6.正在下载与安装程式。
7.安装完成,点选「开启」。
8.点选「允许」。
9.点选「是」。
.选择存放影片的资料夹。
.选择要播放的影片。
.正在播放影片,如下图所示。
android4.4.2有什么值得推荐的软件?
1. 安卓4.4.2上可用的视频播放器
是否想在安卓4.4.2版本手机上享受高品质的影音体验?以下是一些可以在安卓4.4.2上使用的优秀视频播放器。
VLC
PotPlayer
MXPlayer
GOM Player
这些播放器均具备强大的解码器和编码器。它们能够支持大部分流行格式的视频,例如MP4、AVI、MKV等。MXPlayer甚至支持4K视频播放功能,令人惊艳。
2. 安卓4.4.2上可用的游戏应用
对于游戏爱好者来说,安卓4.4.2手机上可玩的游戏也是不容错过的。以下是一些流行的游戏应用列表:
Subway Surfers
Temple Run
Angry Birds
Clash of Clans
这些游戏可通过谷歌Play商店下载,大多数游戏都支持离线玩耍,但有些游戏需要联网状态才能游玩,例如Clash of Clans。
3. 安卓4.4.2上可用的办公软件
是否在手机上需要查看或编辑文档?以下是一些能够在安卓4.4.2上完美运行的办公软件:
WPS Office
Polaris Office
Google Docs
WPS Office和Polaris Office具有类似微软Office的外观和功能,它们允许您编辑文档,制图表和演示文稿。Google Docs是Google的云端文档编辑应用程序。
4. 安卓4.4.2上可用的浏览器
互联网浏览器对于现代的智能手机而言是至关重要的。以下是一些可以在安卓4.4.2上运行的出色浏览器:
Google Chrome
Firefox
UC Browser
Opera Mini
这些浏览器均支持HTML5标准,支持流畅的视频播放且具有多种扩展程序。Chrome和Firefox可账号同步,在多个设备上共享书签和搜索历史记录。
5. 安卓4.4.2上可用的社交媒体应用
社交媒体一直是智能手机应用程序的主流。以下是一些在安卓4.4.2上运行良好的社交媒体应用程序:
这些应用程序提供了在手机上的许多功能,例如发布帖子,浏览朋友圈,评论,喜欢等等。
6. 安卓4.4.2上可用的阅读应用
对于那些喜欢在手机上阅读新闻和书籍的人来说,以下是一些可以在安卓4.4.2上使用的精彩阅读应用:
Kindle
Nook
Google Play Books
Wattpad
这些应用程序提供的内容基本覆盖了所有的书籍,杂志和报纸。Kindle,Nook和Google Play Books都具有购买书籍的选项,而Wattpad则是一个社区式的读者和作者的平台。
7. 安卓4.4.2上可用的购物应用
购物应用程序已成为我们生活中不可或缺的一部分。以下是一些可以在这个过程中完美运行的购物应用程序列表:
Amazon
eBay
Wish
Alibaba
这些都是一些流行的购物应用程序,它们提供了购买商品,浏览商品评论,看折扣等各种促销活动,以及便捷的付款及配送方式。