首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在安卓应用开发中预加载或预缓存.mp4视频

在安卓应用开发中预加载或预缓存.mp4视频
EN

Stack Overflow用户
提问于 2011-08-29 03:53:13
回答 3查看 12.3K关注 0票数 25

我正在构建一个成功显示MP4视频文件onButtonClick的应用程序。我想预缓存或预加载视频的URI (远程url),这样一旦点击按钮就不会延迟视频的播放。我想要它点击并立即播放,所以在应用程序启动闪屏上预加载或缓冲似乎是一个合适的解决方案。唯一的问题是我不知道怎么做。我有大量的Android书籍,但几乎没有一本涉及缓冲,或者只涉及音频。

谁能让我知道如何在之前的活动中缓冲视频?

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2014-12-09 22:33:23

谷歌发布了提供更高级别媒体播放的ExoPlayer:http://developer.android.com/guide/topics/media/exoplayer.html

支持后台缓冲等不同状态:

代码语言:javascript
复制
// 1. Instantiate the player.
player = ExoPlayer.Factory.newInstance(RENDERER_COUNT);
// 2. Construct renderers.
MediaCodecVideoTrackRenderer videoRenderer = …
MediaCodecAudioTrackRenderer audioRenderer = ...
// 3. Inject the renderers through prepare.
player.prepare(videoRenderer, audioRenderer);

我在我自己的项目中使用了它,它看起来非常有效。此外,谷歌还制作了一个完整的播放器演示:https://github.com/google/ExoPlayer/tree/master/demo/src/main/java/com/google/android/exoplayer/demo/full,它比简单的演示功能更强大。

票数 4
EN

Stack Overflow用户

发布于 2014-11-14 11:26:42

您可以使用MediaPlayer来准备视频,如下所示:

代码语言:javascript
复制
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setOnPreparedListener(<implementation of MediaPlayer.OnPreparedListener>);

mediaPlayer.setDataSource(dataSource);
mediaPlayer.prepareAsync();

调用prepareAsync()之后,mediaplayer将缓冲您的视频。MediaPlayer.OnPreparedListener.onPrepared()将告诉您媒体播放器是否已准备好播放。

只需检查准备好的标志,并在单击按钮"onButtonClick“时调用mediaplayer.start()

票数 2
EN

Stack Overflow用户

发布于 2013-05-29 05:05:50

原生的Android浏览器不会缓冲媒体文件(音频或视频),因此无法在HTML5上实现。正如@bradenV2所说,你可以将文件复制到内存中(如果它是一个应用程序,你可以使用Phonegap )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7223491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档