- 浏览: 552296 次
- 来自: -
博客专栏
-
libgdx 游戏开发
浏览量:11999
文章分类
- 全部博客 (171)
- OS (1)
- JavaScript (13)
- Struts (2)
- Regular Expression (1)
- Java (14)
- HTML (4)
- XML (1)
- Non-Relational Database (2)
- Miscellaneous (7)
- Lotus Notes (8)
- Algorithm (3)
- Web Analytics (6)
- Web (8)
- Perl (3)
- PHP (3)
- C & C++ (1)
- Shell (7)
- Google (1)
- Android (31)
- iPhone (1)
- SQL (1)
- HTML5 (3)
- jQuery (6)
- CSS (6)
- PostgreSQL (1)
- Design Patterns (1)
- Excel (1)
- Magento (4)
- jMeter (3)
- SEO (1)
- libgdx (5)
- Software (4)
- App (1)
- Game (1)
- Gradle (1)
- Linux (16)
- Ubuntu (4)
- Docker (2)
- Spring (2)
- Other (3)
- Directory Server (1)
- CentOS (1)
- Python (1)
- VCS (3)
- Database (1)
- Open Source (1)
最新评论
-
ls0609:
赞一个,支持下博主。
[原创] Android ListView 在右上角添加三角形图标和文字 -
love297:
不让别人商用,自己先商用起来了。
手机游戏开发展示 -
a851206:
你的有些类是哪里来的?我想研究一下你的程序,可是有些类没有代码 ...
[原创] Google Custom Search & Yahoo Boss Search | Web Search API 使用 -
ypppk:
BitmapFactory.Options options = ...
[原创] 连载 1 - 深入讨论 Android 关于高效显示图片的问题 - 如何高效的加载大位图 -
笑遍世界:
我也遇到了,弄清了其中原因,可参考我的博客:http://sm ...
[原创] 使用 jMeter 登录 Wordpress
目前在做关于视频及流媒体播放项目时,有这样一个需求,应用启动时的 Splash 要求播放一段动画。其中视频播放的库使用是 Vitamio。
最开始要播放的文件比较大,有 18M+,在手机播放时画质非常好。但是一个 Splash 没有必要这么大,由于把视频压缩了下,变成了 1.5M+,这回文件大小是可以了,用电脑播放器播放时,画质和之前的大文件比没有太大的变化,但是在手机中播放时,却出现了很严重的失真现象。
这是怎么回事?最后经过调查,设置了一些参数,再次用手机播放时和电脑播放的效果一样了,没有出现失真的现象。现将完整解决方案与大家分享下:
说明:
代码中删除了和演示无关的业务代码。
测试用机: XiaoMi 2S Android 5.0.2
备注
Vitamio官网地址:https://www.vitamio.org/
最开始要播放的文件比较大,有 18M+,在手机播放时画质非常好。但是一个 Splash 没有必要这么大,由于把视频压缩了下,变成了 1.5M+,这回文件大小是可以了,用电脑播放器播放时,画质和之前的大文件比没有太大的变化,但是在手机中播放时,却出现了很严重的失真现象。
这是怎么回事?最后经过调查,设置了一些参数,再次用手机播放时和电脑播放的效果一样了,没有出现失真的现象。现将完整解决方案与大家分享下:
说明:
代码中删除了和演示无关的业务代码。
测试用机: XiaoMi 2S Android 5.0.2
import android.app.Activity; import android.content.Intent; import android.media.AudioManager; import android.os.Bundle; import android.os.Handler; // ...... 省略其它不必要的 import import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import io.vov.vitamio.MediaPlayer; import io.vov.vitamio.Vitamio; import io.vov.vitamio.widget.VideoView; public class SplashActivity extends Activity { private static final String TAG = SplashActivity.class.getSimpleName(); /** * Duration of wait * */ private static final int SPLASH_DISPLAY_LENGTH = 2500; /** * Called when the activity is first created. */ @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); Vitamio.isInitialized(getApplicationContext()); InputStream ins = getResources().openRawResource(R.raw.splash_anim); File tmpFile = null; OutputStream output; try { tmpFile = File.createTempFile("splash", "mov"); output = new FileOutputStream(tmpFile); final byte[] buffer = new byte[102400]; int read; while ((read = ins.read(buffer)) != -1) { output.write(buffer, 0, read); } output.flush(); output.close(); ins.close(); } catch (IOException e) { e.printStackTrace(); } final io.vov.vitamio.widget.VideoView videoView = new VideoView(this); videoView.setHardwareDecoder(true); videoView.setVideoChroma(MediaPlayer.VIDEOCHROMA_RGB565); // This method below will remove the black screen that appears before playing video videoView.setZOrderOnTop(true); videoView.setVideoPath(tmpFile.getPath()); videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mediaPlayer) { // optional need Vitamio 4.0 ALog.i(TAG, "onPreparedListener()"); videoView.setBackground(null); mediaPlayer.setAdaptiveStream(true); mediaPlayer.setPlaybackSpeed(1.0f); mediaPlayer.setVideoQuality(MediaPlayer.VIDEOQUALITY_HIGH); setVolumeControlStream(AudioManager.STREAM_MUSIC); mediaPlayer.prepareAsync(); mediaPlayer.start(); } }); setContentView(videoView); new Handler().postDelayed(new Runnable() { @Override public void run() { ALog.d(TAG, "Ready to start initialization activity"); Intent intent = new Intent(SplashActivity.this, Mainctivity.class); startActivity(intent); finish(); } }, SPLASH_DISPLAY_LENGTH); } }
备注
Vitamio官网地址:https://www.vitamio.org/
发表评论
-
[转] DialogFragment Fragment already added
2017-10-25 11:16 2631原文地址:http://blog.csdn.net/u0129 ... -
Android Studio .gitignore
2017-10-16 15:44 849参考文献: https://github.com/github ... -
[转] How to detect incoming calls in an Android
2017-10-13 14:14 1177原文地址:https://stackoverflow.com/ ... -
[转] Android 检测电源按钮是否被按下
2017-10-11 12:55 979原文地址:https://stackoverflow.com/ ... -
[原创] Android Activity onNewIntent() 详解
2017-08-16 13:46 4733阅读难度:中 阅读前提: 1. 需要了解 Android 的生 ... -
[转] Android Webview: “Uncaught TypeError: Cannot read property 'getItem' of null
2017-08-14 15:09 2256原文地址:https://stackoverflow.com/ ... -
[转] Android: Expand/collapse animation
2017-07-31 14:57 1545原文地址:https://stackoverflow.com/ ... -
[原创] Android ListView 在右上角添加三角形图标和文字
2017-07-26 17:24 2698最终显示效果如下图,在右上角添加三角形图标并在图标内显示文字: ... -
[转] Detect home button press in android
2017-07-20 17:49 1158原文地址:https://stackoverflow.com/ ... -
[原创] 开启 Android TextView Marquee
2017-07-18 15:47 1791亲测可能。直接上代码。 测试机器:XiaoMi 2S Andr ... -
[原创] 小米手机无法真机调试
2017-07-06 09:10 6461系统环境: 小米 2S MIUI 版本:8.0.1.0(LXA ... -
了解数据绑定 - Data Binding Library
2017-06-22 15:31 908原文地址: -
How to play gif with Fresco
2017-06-22 14:00 637原文地址:https://stackoverflow.com/ ... -
设置 Toolbar(ActionBar) 上的按钮颜色
2017-06-22 08:11 2048原文地址: https://stackoverflow.com ... -
Display back button on action bar and back event
2017-06-22 08:00 723原文地址: https://stackoverflow.com ... -
Gradle 修改 Maven 仓库地址
2017-06-02 15:51 1638修改 Gradle Maven 仓库地址为阿里云镜像 修改根 ... -
[转] How to clear cookies and cache of webview on Android when not in webview?
2017-04-26 09:28 2175原文地址:http://stackoverflow.com/a ... -
[转] Android 在程序中如何动态的修改程序图标
2017-03-02 17:05 890http://stackoverflow.com/a/4150 ... -
[转] Android Libraries
2017-01-16 10:28 547原文地址: https://dzone.com/article ... -
[原创] Android 长按识别图中二维码 - Zxing
2017-01-10 09:27 6347前提: 本文使用了 ButterKnife 依赖库 开始环境 ...
相关推荐
Vitamio视频播放Demo源码
万能播放Vitamio强大的视频播放 官方发布demo用例 已测试通过
Android播放器 集成vitamio框架demo.可播放多种格式视频,支持本地播放以及在线播放。包含Android demo源码以及不同格式视频。
vitamio.demo视频播放器(本地资源+在线资源播放功能) eclipse adt中 import,在sd卡中放置一个视频文件(sintel.avi),如果名字是其他的,在代码中替换sintel.avi为你的视频资源名称。 如果直接想看效果,可以把...
解决 vitamio 无法加载ios 视频
*亲测成功 *可以直接导入项目中进行使用 *Android Vitamio 简单功能齐全的播放器,轻松修改自定义布局和功能,支持现在主流的视音频格式:mp3、mp4、flv、HLS格式, *支持本地视频文件播放、网络视频播放
使用vitamio做播放器在listview中实现播放
android vitamio视频播放,Vitamio是一款全能的多媒体开发框架,可以让你用最简单的步骤开发出一款全能视频播放器,目前支持Android与iOS两大平台!全硬件解码 所有主流Android设备都能使用
一个基于vitamio的视频播放器,自己的毕设作品。实现本地播放,和网络视频播放。还有本地音乐播放功能
vitamio视频播放器,可以播放网络视频,也可以播放本地视频,http和rtmp 播放流都支持,使用非常简单,里面就一个类,还有个安装包
使用vitamio封装的播放器
Vitamio 是一款 Android ...Vitamio 能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在 Android 上支持 MMS, RTSP, RTMP, HLS(m3u8) 等常见的多种视频流媒体协议,包括点播与直播
最新版本的vitamio,集成了网络视频播放器,编码解码的功能
1、改vitamio源码videoview.java,实现任意视频大小控制功能 2、功能实现调用实例
android vitamio在线视频播放源代码,包括服务端和客户端
基于Vitamio框架的视频播放demo 只用来验证Vitamio框架引用成功并可以使用
Android 视频播放 开源 vitamio
采用vitamio内核,播放视频非常流畅
vitamio框架开发视频播放需要的全部类库
无法运行基于Vitamio框架的视频播放demo只用来验证Vitamio框架引用成功并可以使用.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。