Articles of videoview

检测VideoVIew是否正在缓冲

有谁知道是否有可能检测到VideoView何时缓冲? 我想在video缓冲时显示ProgressDialog。 到目前为止,我尝试使用OnPreparedListener,但这仅在首次加载video时才有效。 如果正在播放video并且用户将擦洗条移动到不同的点,则video仍然“准备好”,即使它正在缓冲。 我也试过(我知道这很糟糕)AsyncThread只是忙等待isPlaying(): private class BufferTask extends AsyncTask { protected Void doInBackground(Void…voids) { final VideoView videoView = (VideoView)findViewById(R.id.video); while (!videoView.isPlaying()) { } return null; } protected void onPostExecute(Void v) { // Hide the dialog here… } } 这不起作用,因为只要你调用start(),即使它正在缓冲,VideoView似乎也被认为是在播放。 我能想到的唯一解决方案是构建自定义VideoViewtypes类,以便我可以访问其MediaPlayer实例。 有任何想法吗? 谢谢阅读。

如何在Android中的不同视图中并排在一个布局中同时播放多个video文件

在Android中,我创建了一个并排有三个表面视图的布局,我想同时播放一个带有不同媒体播放器的video文件。 但是我遇到的一个问题是,三个人都不能同时播放该video。 其中一两个人停下了显示器。 如果我直接使用video视图而不是Media Player类,但问题仍然存在。 请任何人都可以提供帮助。 问题是什么? 它给错误表面创建失败原生错误。 我尝试了不同的组合,例如3个不同视图中的一个文件,三个不同视图中的三个文件,但问题尚未解决。 其他网站上的一些回复说它取决于内核版本。 如果它取决于内核版本,请你在android网站上给我任何android文档链接,它取决于内核版本。 或者可以玩,请给我代码的步骤。 这是错误日志 – 04-10 19:23:37.995: E/ANDROID_DRM_TEST(2573): Client::notify In 04-10 19:23:37.995: V/AudioPolicyManager(2573): startOutput() output 1, stream 3, session 131 04-10 19:23:37.995: V/AudioPolicyManager(2573): getDeviceForStrategy() from cache strategy 0, device 2 04-10 19:23:37.995: V/AudioPolicyManager(2573): getNewDevice() selected device 2 04-10 19:23:37.995: V/AudioPolicyManager(2573): setOutputDevice() output 1 device 2 delayMs […]

在android中可以将一个视图放在另一个视图上吗?

我们可以在另一个大视图上放置一个小视图吗? 例如,我有一个在后台播放文件的VideoView。 在这个,在中间/角落的某个地方,我想放置另一个ImageView。 但是在线性/相对布局中,视图可以一个接一个地放置或相对于彼此放置,建议不要使用AbsoluteLayout。 那我该怎么办?

如何在某个特定位置观看video内的video?

我目前正在尝试实施video观看,该video将在特定位置显示video。 我可以毫无问题地显示全屏video。 然而,每当我尝试在一个帧内显示该video时(例如一个小矩形),我只能在该视图中显示video的一部分。 我无法将video放入该视图中。 我已经在android中查找了很多关于缩放video的链接,但我无法find任何方法来做到这一点。 有关该问题的任何帮助都会有所帮助。 我正在使用的是我有2个不同的类。 其中一个是我的video活动类,另一个是帮助类: public class VideoViewCustom extends VideoView { private int mForceHeight = 0; private int mForceWidth = 0; public VideoViewCustom(Context context) { super(context); } public VideoViewCustom(Context context, AttributeSet attrs) { this(context, attrs, 0); } public VideoViewCustom(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public void setDimensions(int […]

应用程序在本机4k中显示其图像内容的机制

据我了解,目前UHDvideo内容主要使用HEVC codec在4k电视上流式传输。 我想了解具有UHD图像内容的应用程序如何在原生4K显示其图像内容? 我正在寻找的是渲染4k(3840*2060) jpeg图像。 我的显示器支持4k渲染, SOC甚至可以输出4k。 我正在寻找框架中的修改,以便所有具有4k图像的应用程序可以在我的设备上呈现它们而不缩小尺寸。 实际上我正在努力想出其他人可以使用的API集。 但我的主要困惑是:对于jpeg图像,我创建了一个4k表面,但它们也是其他表面(按钮等)。 它们由表面抛油环渲染,渲染为1280*720 。 现在用这些其他表面组合我的4k表面的最佳方法是什么? 我应该在哪里升级这些表面以及在哪里组合它们?

video没有在VideoView上显示,但我可以听到它的声音

在我的按钮上单击,我编写了以下代码,用于从我的SDCARD(mp4)播放video。 video_view = (VideoView)findViewById(R.id.video_view); video_view.setVideoPath(“/sdcard/myvideo.mp4”); video_view.setMediaController(new MediaController(this)); video_view.start(); 我可以在播放器中播放SDCARD录制的video。 但是当我在video中运行我的应用程序时,我只能听到声音。 问题: 我无法看到video。 —-我试过跟踪SO链接但仍然没有运气—- 链接1 链接2 有人遇到过这种问题吗? 如果是,那怎么解决呢?

如何在Android中的VideoView中隐藏控件?

我正在使用VideoView在我的应用程序中播放video,但我想隐藏其中的控件。 我怎样才能做到这一点? 谢谢。

Android MediaPlayer / VideoView错误(1,-2147483648)

我从文件路径设置VideoView的video时遇到了不一致的经历。 VideoView myVideoView = findViewById(R.id.videoView); … myVideoView.setVideoPath(videoFilename); … myVideoView.start(); videoFilename是我的缓存目录中video的绝对路径: String videoFilename = new File(context.getCacheDir(), “myawesomevideo.mp4”).getAbsolutePath(); 在Android SDK> = 16(Jelly Bean)中,这很好用,我的精彩video播放。 在Android 4.0.4(SDK = 15)中,当调用myVideoView.start()时,MediaPlayer会中断。 错误是永远无益的: error (1, -2147483648) 我在这里想念的是什么? 直接从我的包资产(res / raw)或互联网( http://something.com/myawesomeinternetvideo.mp4 )加载文件,但我无法弄清楚如何从缓存目录中读取文件!

VideoView seekto()函数极不一致

我正试图在Androidvideo中查找特定位置,因为它在行为中显示的不一致性而完全卡住了。 这是我做过的事情清单 VideoView.Seekto为一个video转到5:19,一个video转到5:17,另一个video转到另一个video5:32(326000 ms)! 由于VideoView不支持onSeekListener,我修改了源VideoView并添加了对它的支持。 然而它并没有暂停并开始从我想要的地方寻求 – 总是有一个滞后! onSeekListener会在我希望停止之前的6秒内立即调用。 在许多情况下,搜索栏显示正确的时间并突然跳回几秒钟,即使我从onSeekCompleteListener调用video.start 为什么这么不一致? 在videoview中有没有明确的方法可以在几毫秒内find你想去的地方? 我知道我应该使用MediaPLayer + Surface,但由于VideoView只是我在修改它的两个包装,但无济于事。 我知道这一点: http : //code.google.com/p/android/issues/detail?id = 9135但是有没有办法解决这个问题并且有一个明确的方法 1.)以毫秒为单位寻找确切的时间 2.)在确切的时间暂停和恢复?

如何在Android Video View中播放Youtubevideo?

我正在开发一个Android应用程序,需要在其中嵌入youtubevideo播放器。 我成功地从API获得了RTSPvideoURL,但在我的Androidvideo视图中尝试加载此rtsp url时,它显示“ Can’t play this video. ”。 以前我在这个方法中开发了一个类似的应用程序,当时它运行良好,但现在也无法加载。 我很确定,我从API获得了正确的RTSPurl。 rtsp://v6.cache6.c.youtube.com/CiULENy73wIaHAlV9VII3c64lRMYESARFEgGUglwbGF5bGlzdHMM/0/0/0/video.3gp 这是我的活动代码: mVideoURL = getIntent().getStringExtra(“EXT_URL”); Log.i(“VIDEO URL”, ” ” + mVideoURL); MediaController mc = new MediaController(this); mVideoStreamView = (VideoView) findViewById(R.id.vidPlayer); mVideoStreamView.setVideoURI(Uri.parse(mVideoURL)); mVideoStreamView.setMediaController(mc); mVideoStreamView.requestFocus(); mVideoStreamView.start(); 编辑从logcat中find一些其他信息: ARTSPConnection(6607): status: RTSP/1.0 200 OK ASessionDescription(6607): v=0 ASessionDescription(6607): o=GoogleStreamer 378992432 328144046 IN IP4 74.125.213.182 ASessionDescription(6607): s=Video ASessionDescription(6607): c=IN IP4 0.0.0.0 […]