Android|Android 双屏异显
Android平板可以外接一块显示器,那么现在如果将VideoView显示在副屏(显示器)上,该如何实现呢?
这里要用到Android的Presentation
这个API:点击查看API详情
我们现在新建一个Android项目
首先,先设置权限:
然后新建一个
DifferentDislay
类,:
package com.remixdemo;
import android.app.Presentation;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.view.Display;
import android.widget.LinearLayout;
import android.widget.VideoView;
import com.remixdemo.media.IjkVideoView;
/**
* Created by waynian on 2017/9/6.
*/public class DifferentDisplay extends Presentation {
public VideoView videoView;
public DifferentDisplay(Context outerContext, Display display) {
super(outerContext, display);
}@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.play_video);
videoView = (VideoView ) findViewById(R.id.video_view);
}
}
在这个类中,我们设置了一个布局,这个布局很简单,就设置一个
VideoView
,play_video.xml
的内容如下:
最后在MainActivity文件中设置显示:
public class MainActivity extends AppCompatActivity {
private DifferentDisplay presentation;
private Display[] presentationDisplays;
private VideoView videoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DisplayManager displayManager = (DisplayManager)reactContext.getSystemService(Context.DISPLAY_SERVICE);
//获取屏幕数量
presentationDisplays = displayManager.getDisplays();
if (presentationDisplays.length > 1) {
presentation = new DifferentDisplay(reactContext, presentationDisplays[1]);
} else {
presentation = new DifferentDisplay(reactContext, presentationDisplays[0]);
}
presentation.show();
videoView = presentation.videoView;
}
【Android|Android 双屏异显】现在VideoView就会显示在副屏上,主屏可以控制VideoView的播放,暂停等操作了。
推荐阅读
- android第三方框架(五)ButterKnife
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库
- 深入理解|深入理解 Android 9.0 Crash 机制(二)
- android防止连续点击的简单实现(kotlin)
- Android|Android install 多个设备时指定设备