我正在构建一个成功显示MP4视频文件onButtonClick的应用程序。我想预缓存或预加载视频的URI (远程url),这样一旦点击按钮就不会延迟视频的播放。我想要它点击并立即播放,所以在应用程序启动闪屏上预加载或缓冲似乎是一个合适的解决方案。唯一的问题是我不知道怎么做。我有大量的Android书籍,但几乎没有一本涉及缓冲,或者只涉及音频。
谁能让我知道如何在之前的活动中缓冲视频?
谢谢。
发布于 2014-12-09 22:33:23
谷歌发布了提供更高级别媒体播放的ExoPlayer:http://developer.android.com/guide/topics/media/exoplayer.html
支持后台缓冲等不同状态:
// 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,它比简单的演示功能更强大。
发布于 2014-11-14 11:26:42
您可以使用MediaPlayer来准备视频,如下所示:
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()
发布于 2013-05-29 05:05:50
原生的Android浏览器不会缓冲媒体文件(音频或视频),因此无法在HTML5上实现。正如@bradenV2所说,你可以将文件复制到内存中(如果它是一个应用程序,你可以使用Phonegap )。
https://stackoverflow.com/questions/7223491
复制相似问题