全屏播放视频

17 video android playback

我正在尝试在我的应用中播放视频.它必须嵌入.

我浏览了"在Android中播放视频文件"主题.

我可以使用VideoView播放我的视频,如本讨论中所述.但是有一些问题.

  1. 我需要全屏视频,如何将VideoView拉伸到全屏?这会延长视频吗?

  2. 我根本不需要默认的播放/前进/停止按钮.基本上我需要连续循环播放视频.

我在这里尝试了MediaPlayer类,但它从未奏效.如果我的视频文件在res/raw目录中,字符串格式应该是什么样的?我真的不希望从SD卡播放视频文件.它如何与应用程序捆绑在一起?

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

这是我的代码:

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(); 
Run Code Online (Sandbox Code Playgroud)

奇怪的是,评论的网址是有效的(带有sdcard的网址).另一个不起作用.我尝试了很多从"file:// res/raw/demo.3gp"到"demo"的组合.

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

Jav*_*tor 49

无需进行任何编码即可将视频播放到全屏模式

在包含videoview的xml上应用以下布局格式,它肯定会以全屏模式播放视频.因为它正在运行我的.:) 希望能帮助到你

 <?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>
Run Code Online (Sandbox Code Playgroud)

另外,添加mediacontroller还可以让你使用控制器.

  • 但这延长了视频 - 突破宽高比 (5认同)

小智 8

我解决了这个问题:

1.要删除继续/暂停按钮,请删除媒体控制器.对于循环问题,OnCompletionListener以便在视频到达结束时再次启动:

videoView.setOnCompletionListener(
        new MediaPlayer.OnCompletionListener() {
        public void onCompletion(MediaPlayer mp) {
            videoView.start();
        }
        });
Run Code Online (Sandbox Code Playgroud)

2.要调整视频,重写方法onMeasure()VideoView是这样的:

public class MyVideoView extends VideoView {

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

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

    }
Run Code Online (Sandbox Code Playgroud)


Bri*_*ian 6

我知道这个帖子已经有几个星期了,但你不必将视频文件复制到SD卡上就可以了.使用以下内容但插入您的包名称而不是"com.yourcompany.yourproject":

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