我在我的活动中创build了一个VideoView ,下面是代码。 VideoView vvVideos = (VideoView) rootView.findViewById(R.id.videoView); MediaController mediacontroller = new MediaController(ctx); mediacontroller.setAnchorView(vvVideos); Uri video = Uri.parse("android.resource://" + packageName +"/"+R.raw.sample); vvVideos.setMediaController(mediacontroller); LayoutParams params=vvVideos.getLayoutParams(); params.height=150; vvVideos.setLayoutParams(params); vvVideos.setVideoURI(video); vvVideos.requestFocus(); vvVideos.setOnPreparedListener(new OnPreparedListener() { public void onPrepared(MediaPlayer mp) { vvVideos.start(); } }); 现在video开始在活动创build时播放。 我想按以下方式进行我的活动 当活动开放时,video不应播放。 它应该显示开始的video图像(目前它显示黑色) 只有当用户点击video时才应该播放。 请帮帮我。
我很困惑VideoView如何用于播放video:从本地文件,渐进式下载和stream媒体。 这个例子适用于我(在1.5和2.0以上),通过下载文件并在本地播放。 但是在播放之前是否需要下载video:是否可以使用setVideoPath或setVideoURI来播放video作为渐进式下载或stream式传输,就像在API示例中的VideoViewDemo中一样? VideoViewDemo代码build议使用setVideoURI进行stream式传输,但是我不清楚应该使用什么样的URL。 有人可以使用VideoViewDemo代码将stream式传输到Android模拟器的video的示例URL? 可以使用VideoViewDemo进行渐进式下载吗? 我使用setVideoPath和URL,这个video不能播放,这个video无法播放,这个URL和上面链接的博客例子很好的一样(这是模拟器的问题吗?我试过1.5和2.0) 我已经在网上find了很多的例子和文档,但到目前为止,没有什么能真正回答这个问题。
所以我扩展了VideoView的onMeasure以扩大video,以适应全屏视图。 这里是如何: public void setVideoAspect(int w,int h){ wVideo=w; hVideo=h; onMeasure(w, h); } @Override protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); if(wVideo!=0 && hVideo!=0) setMeasuredDimension(wVideo,hVideo); } 我用屏幕的显示度量(宽度,高度)调用setVideoAspect()。 问题是,这种方法拉伸video适合在屏幕内。 我希望能够保持宽高比。 (我有4:3的video和3:2的屏幕尺寸。)我使用下面的代码给保留的比例测量视图: int height = (int) (metrics.widthPixels*3/(float)4); int width= metrics.widthPixels; mVideoView.setVideoAspect(width,height); 所以这样做的工作,但有一个问题:它给了我一个4:3的video与屏幕的宽度,并正确地缩放高度,但它不居中的video。 (它只是裁剪video的底部而不是顶部和底部)。我有一个包含VideoView的相对布局,以VideoView的重心为中心。
我想知道在stream媒体video方面他们是否有区别。 我知道VideoView可以用于stream媒体和什么是Mediaplayer的? 据我所知, MediaPlayer可以做VideoView同样的事情吗? 任何人都可以给我答案? 如果我想通过使用RTSP将Androidvideo从服务器stream式传输到Android,我应该从哪一个开始? VideoView或MediaPlayer ? 任何build议?
我的应用程序只提供肖像模式。 在肖像活动中,我有一个全屏的VideoView。 我想要做的是在风景模式下旋转VideoView(实际的video,videobuffer)90度。 启用活动在Lanscape模式不是一个选项。 扩展VideoView和canvas旋转将无法正常工作,因为它是一个SurfaceView而不是实际的视图。 有没有办法用videoView来实现这一点?
所以我试图做一个VideoView的屏幕截图。 我想最简单的方法是: videoView.setDrawingCacheEnabled(true); 那么当我需要截图的时候 Bitmap screenshot = videoView.getDrawingCache(); 但是由于某种原因,我每次得到的位图都是黑色的。 任何人都有这个成功吗? 我也试过: Bitmap bitmap = Bitmap.createBitmap(videoView.getWidth(), videoView.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); videoView.draw(canvas); 但是,再一次,这给我一个黑色的形象。 我可以看到VideoView在Android javadoc中几乎没有logging。 任何帮助?
我有两个不同的video,我试图加载到一个VideoView使用 videoView.setVideoURI(Uri.parse(url)); 这两个video,让他们是video1和video2 ,具有以下规格(使用ffmpeg -i提取); 实际上,它们是同一个video的两种不同的编码: video1: Seems stream 0 codec frame rate differs from container frame rate: 180000.00 (180000/1) -> 90000.00 (180000/2) Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '4fbfd5ece4b0932236fc234d.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: mp42isomavc1 creation_time : 2011-12-03 04:43:46 genre : Trailer artist : Paramount Pictures title : Captain America: The First Avenger […]