我正在为 Android 应用程序创建视频过滤器,所以我使用TextureView
它来播放视频和过滤器SurfaceTexture
。但是视频的 FPS 总是低于原始的(30fps)。
正如我在 Galaxy S3 上检查的那样,onSurfaceTextureUpdated()
尽管有过滤器或没有过滤器,但每秒只能输入 5~8 次。但在更强大的设备上,如三星 Galaxy J,它可以增加到每秒 10~13 次
请注意,此视频从 SD 卡加载。
有人知道原因吗?
mVideoPlayer.reset();
mVideoPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mVideoPlayer.setDataSource(mVideoPath);
mVideoPlayer.setSurface(new Surface(surfaceTexture));
mVideoPlayer.setLooping(true); mVideoPlayer.prepareAsync();
mVideoPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {mp.start(); }
});