首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >播放视频全屏

播放视频全屏
EN

Stack Overflow用户
提问于 2009-10-15 19:53:14
回答 5查看 48.9K关注 0票数 18

我正在尝试在我的应用程序中播放视频。它必须是嵌入式的。

我浏览了"Play Video Files in Android"线程。

我可以使用在此讨论中提到的VideoView播放我的视频。但也有一些问题。

  1. 我需要全屏视频,如何将VideoView拉伸到全屏?
  2. 我根本不需要默认的播放/前进/停止按钮。基本上我需要连续循环播放的视频。

我像在here中一样尝试了MediaPlayer类,但它从来都不起作用。如果我的视频文件在res/raw目录中,字符串格式应该是什么样子的?我真的不想从sdcard播放视频文件。如何将其与应用程序捆绑在一起?

如果这两种方法中的任何一种都有效,我会过得更好。

这是我的代码:

代码语言:javascript
复制
videoHolder = new VideoView(this); 
// videoHolder = (VideoView)findViewById(R.id.videoview); 
LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 
videoHolder.setLayoutParams(params); 
videoHolder.setMediaController(new MediaController(this)); 
setContentView(videoHolder); 
// 
// 
//// I tested and found that it works fine for .wmv, .3gp and .mp4 
//// videoHolder.setVideoURI(Uri.parse("file:///sdcard/video.3gp")); 
videoHolder.setVideoURI(Uri.parse("res/raw/demo.3gp")); 
videoHolder.requestFocus(); 
videoHolder.start(); 

奇怪的是,评论的url可以正常工作(使用sdcard的那个)。另一个不起作用。我尝试了许多组合,从"file:// res/raw/demo.3gp“到"demo”。

访问该文件的正确字符串是什么?

EN

回答 5

Stack Overflow用户

发布于 2011-02-09 18:35:12

全屏播放无需任何编码

在包含videoview的xml上应用以下布局格式,它肯定会以全屏模式播放视频。就像它在运行我的一样。

代码语言:javascript
复制
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent" >
   <VideoView android:id="@+id/myvideoview"
             android:layout_width="fill_parent"
             android:layout_alignParentRight="true"
             android:layout_alignParentLeft="true"
             android:layout_alignParentTop="true"
             android:layout_alignParentBottom="true"
             android:layout_height="fill_parent">
    </VideoView>
 </RelativeLayout>

此外,添加媒体控制器也会给你提供控制器来使用。

票数 50
EN

Stack Overflow用户

发布于 2010-08-03 01:22:49

我已经解决了这个问题:

  1. 要删除继续/暂停按钮,请删除介质控制器。对于循环问题,放入OnCompletionListener,这样当视频到达结尾时,它就会再次开始:

代码语言:javascript
复制
videoView.setOnCompletionListener(
        new MediaPlayer.OnCompletionListener() {
        public void onCompletion(MediaPlayer mp) {
            videoView.start();
        }
        });

  1. 要调整视频的大小,请覆盖VideoView中的onMeasure()方法,如下所示:

代码语言:javascript
复制
public class MyVideoView extends VideoView {

        public MyVideoView(Context context) {
            super(context);
        }

        @Override
        protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)
        {
             setMeasuredDimension(480,800);
        }

    }
票数 8
EN

Stack Overflow用户

发布于 2010-08-25 23:49:17

我知道这个帖子已经有几个星期了,但是你不需要把视频文件拷贝到SD卡来播放它。使用以下命令,但插入您的包名,而不是"com.yourcompany.yourproject":

videoView.setVideoURI(Uri.parse("android.resource://com.yourcompay.yourproject/" + R.raw.yourvideoresource));

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

https://stackoverflow.com/questions/1574654

复制
相关文章

相似问题

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