- 浏览: 562461 次
- 来自: -
博客专栏
-
libgdx 游戏开发
浏览量:12271
文章分类
- 全部博客 (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 2766原文地址:http://blog.csdn.net/u0129 ... -
Android Studio .gitignore
2017-10-16 15:44 916参考文献: https://github.com/github ... -
[转] How to detect incoming calls in an Android
2017-10-13 14:14 1239原文地址:https://stackoverflow.com/ ... -
[转] Android 检测电源按钮是否被按下
2017-10-11 12:55 1066原文地址:https://stackoverflow.com/ ... -
[原创] Android Activity onNewIntent() 详解
2017-08-16 13:46 4814阅读难度:中 阅读前提: 1. 需要了解 Android 的生 ... -
[转] Android Webview: “Uncaught TypeError: Cannot read property 'getItem' of null
2017-08-14 15:09 2365原文地址:https://stackoverflow.com/ ... -
[转] Android: Expand/collapse animation
2017-07-31 14:57 1593原文地址:https://stackoverflow.com/ ... -
[原创] Android ListView 在右上角添加三角形图标和文字
2017-07-26 17:24 2798最终显示效果如下图,在右上角添加三角形图标并在图标内显示文字: ... -
[转] Detect home button press in android
2017-07-20 17:49 1194原文地址:https://stackoverflow.com/ ... -
[原创] 开启 Android TextView Marquee
2017-07-18 15:47 1834亲测可能。直接上代码。 测试机器:XiaoMi 2S Andr ... -
[原创] 小米手机无法真机调试
2017-07-06 09:10 6513系统环境: 小米 2S MIUI 版本:8.0.1.0(LXA ... -
了解数据绑定 - Data Binding Library
2017-06-22 15:31 994原文地址: -
How to play gif with Fresco
2017-06-22 14:00 676原文地址:https://stackoverflow.com/ ... -
设置 Toolbar(ActionBar) 上的按钮颜色
2017-06-22 08:11 2093原文地址: https://stackoverflow.com ... -
Display back button on action bar and back event
2017-06-22 08:00 770原文地址: https://stackoverflow.com ... -
Gradle 修改 Maven 仓库地址
2017-06-02 15:51 1701修改 Gradle Maven 仓库地址为阿里云镜像 修改根 ... -
[转] How to clear cookies and cache of webview on Android when not in webview?
2017-04-26 09:28 2214原文地址:http://stackoverflow.com/a ... -
[转] Android 在程序中如何动态的修改程序图标
2017-03-02 17:05 959http://stackoverflow.com/a/4150 ... -
[转] Android Libraries
2017-01-16 10:28 579原文地址: https://dzone.com/article ... -
[原创] Android 长按识别图中二维码 - Zxing
2017-01-10 09:27 6423前提: 本文使用了 ButterKnife 依赖库 开始环境 ...
相关推荐
总结来说,Vitamio是一个全面的多媒体解决方案,它的强大功能和广泛支持的格式使其成为Android开发者在构建视频播放相关应用时的首选工具。通过官方提供的Demo和示例代码,开发者可以轻松学习和掌握其使用方法,实现...
1. **Vitamio框架介绍**:Vitamio是由尹建丽(Yan Jianli)开发的,它提供了一个完整的多媒体播放解决方案,包括音频和视频的解码、编码、流媒体等功能。框架的核心是基于FFmpeg库,这使得它能够支持广泛的多媒体...
这个"Vitamio视频播放Demo源码"是一个示例项目,用于帮助开发者理解和学习如何在Android应用中集成和使用Vitamio库进行视频播放。 在源码中,我们可以看到以下几个关键知识点: 1. **Vitamio库的引入**:首先,你...
"一个基于vitamio的视频播放器" 这个标题指出,这是一个使用了Vitamio库的视频播放应用项目。Vitamio是一个专门为Android平台设计的多媒体开发框架,它提供了丰富的视频和音频播放功能,使得开发者能够轻松地在...
vitamio.demo视频播放器(本地资源+在线资源播放功能) eclipse adt中 import,在sd卡中放置一个视频文件(sintel.avi),如果名字是其他的,在代码中替换sintel.avi为你的视频资源名称。 如果直接想看效果,可以把...
Vitamio是一个流行的Android多媒体框架,它提供了一套完整的视频播放解决方案,包括硬件加速支持和丰富的API接口。 首先,我们关注`videoview.java`文件。在Vitamio库中,`VideoView`是核心的视图组件,用于播放...
解决 vitamio 无法加载ios 视频
*亲测成功 *可以直接导入项目中进行使用 *Android Vitamio 简单功能齐全的播放器,轻松修改自定义布局和功能,支持现在主流的视音频格式:mp3、mp4、flv、HLS格式, *支持本地视频文件播放、网络视频播放
android vitamio视频播放,Vitamio是一款全能的多媒体开发框架,可以让你用最简单的步骤开发出一款全能视频播放器,目前支持Android与iOS两大平台!全硬件解码 所有主流Android设备都能使用
Vitamio是一款广泛应用于Android开发中的网络视频框架,它为开发者提供了强大的视频播放和处理功能,使得在Android平台上实现流畅、高效的网络视频播放成为可能。这个框架集成了播放器和编码解码器,能够支持多种...
Vitamio是一个强大的Android多媒体框架,它允许开发者在应用程序中集成视频和音频播放功能。本教程将深入探讨如何在ListView中使用Vitamio来实现流畅的媒体播放体验。 首先,你需要在你的项目中集成Vitamio库。这...
在Eclipse开发环境中,Vitamio可能会遇到一些问题,比如视频播放时出现花屏现象,或者在视频播放界面的上层控件布局不正确。针对这些问题,我们可以深入探讨如何解决。 首先,"eclipse版vitamio问题解决jar"表明这...
Vitamio是一款开源的Android多媒体框架,它使得开发者能够轻松地在Android应用中实现音频和视频的播放功能。这个框架由尹峰(yfio)开发,支持多种媒体格式,如MP4、3GP、MOV、FLV、MKV等,并且提供了RTSP、HTTP、...
Vitamio是一个开源的Android多媒体框架,它提供了一套完整的视频播放解决方案,包括硬件加速、多种视频格式支持等特性。 【描述分析】 "运行时需要替换代码里面的视频连接,设置自己的android:minSdkVersion"这部分...
7. **错误处理和恢复**:当播放过程中出现错误时,Vitamio具备一定的错误恢复能力,可以自动处理一些常见的播放问题。 在使用Vitamio时,开发者需要注意以下几点: - **集成步骤**:首先需要在Android项目中导入...
总的来说,Vitamio为Android开发者提供了一个强大而易用的视频播放解决方案,通过它,开发者可以快速集成视频播放功能,提升应用的多媒体体验。然而,使用过程中也需要注意兼容性和性能优化,确保在不同设备和环境下...
它可以处理常见的视频文件格式,如MP4、AVI、FLV、MKV等,确保用户可以在不转换格式的情况下直接播放。此外,对于网络视频,Vitamio支持HTTP和RTMP协议,使得在线视频的播放变得轻而易举。HTTP协议广泛应用于网页...
【vitamio实现视频播放器集合】是一个针对Android平台的项目,主要利用Vitamio库来构建一个功能全面的视频播放应用。Vitamio是一个强大的多媒体框架,支持多种视频编码格式,使得开发者能够轻松地在Android设备上...
Vitamio是一个专门为Android平台设计的多媒体框架,它允许开发者轻松地在应用中集成音频和视频播放功能。这个框架提供了一套完整的API,使得开发者无需深入理解底层的编解码技术,就能实现丰富的多媒体播放体验。...
总结来说,Vitamio是一个全面的Android视频播放解决方案,它的在线播放、直播支持和缓冲播放技术为开发者提供了高效、稳定的视频服务。开发者可以利用Vitamio轻松实现各种复杂的视频播放需求,提升应用的质量和用户...