大家好我在对话框视图中嵌入视频视图时遇到问题
一切正常,但对话框中显示的视频要深得多,如果在活动的其余部分显示
有任何想法吗 ?
这是一些代码
button1main.setOnClickListener(new OnClickListener() {
public VideoView videoView = null;
@Override
public void onClick(View v) {
//set up dialog
Dialog dialog = new Dialog(CustomDialog.this);
dialog.setContentView(R.layout.maindialog);
//dialog.setTitle("This is my custom dialog box");
dialog.setCancelable(true);
this.videoView = (VideoView) dialog.findViewById(R.id.video);
VideoPlayer vp = new VideoPlayer(this.videoView, null);
vp.playVideo();
//set up button
Button button = (Button) dialog.findViewById(R.id.Button01);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
//now that the dialog is set up, it's time to show it
dialog.show();
} …Run Code Online (Sandbox Code Playgroud) 我正在使用VideoView在我的应用程序中播放视频,但我想隐藏其中的控件.我怎样才能做到这一点?谢谢.
我正在VideoView以肖像模式播放视频(开启)(不是在全屏幕上),当我改为
横向模式视频停止.
当我将其更改为横向时,视频将全屏显示并继续播放.
有什么建议吗?
我正在寻找像ImageView.ScaleType中的CENTER_CROP
均匀缩放图像(保持图像的纵横比),使图像的尺寸(宽度和高度)等于或大于视图的相应尺寸(减去填充).然后图像在视图中居中.从XML,使用以下语法:android:scaleType ="centerCrop"
但对于VideoView.有这样的事吗?
在我的按钮上单击我编写了以下代码,用于从我的SDCARD(mp4)播放视频.
video_view = (VideoView)findViewById(R.id.video_view);
video_view.setVideoPath("/sdcard/myvideo.mp4");
video_view.setMediaController(new MediaController(this));
video_view.start();
Run Code Online (Sandbox Code Playgroud)我可以在播放器中播放SDCARD录制的视频.
我正在尝试为我的用户提供使用外部或内部存储的能力.我正在显示图像和视频(科学性质).将媒体存储在SD卡上时,一切都很好.但是当我在内部存储媒体时,只会显示图像.无论我尝试什么,我在尝试加载和显示存储在applicationcontext.getFilesDir()下的媒体时都会遇到各种错误.
是否有将视频内容设置为此类文件的技巧?
ContentResolver可以帮助我吗?
在相关的说明中,假设存在外部存储是否被视为不良形式?
提前致谢,
希德
下面是一个失败的版本"无法播放视频.抱歉,此视频无法播放".但我有许多其他失败模式.我可以将内部视频复制到临时存储(外部)并播放它,因此这个复制到内部确实创建了一个有效的电影.它只在我尝试直接从内部存储器播放时失败.
videoFile = new File(this.getFilesDir() + File.separator + "test.mp4");
InputStream data = res.openRawResource(R.raw.moviegood);
try {
OutputStream myOutputStream = new FileOutputStream(videoFile);
byte[] buffer = new byte[8192];
int length;
while ( (length = data.read(buffer)) > 0 ) {
myOutputStream.write(buffer);
}
//Close the streams
myOutputStream.flush();
myOutputStream.close();
data.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
vview.setKeepScreenOn(true);
vview.setVideoPath(videoFile.getAbsolutePath());
vview.start();
Run Code Online (Sandbox Code Playgroud) 是否有可能获得对videoView正在使用的mediaPlayer实例的引用,最好是在它的ctor内?如果是这样,怎么样?
由于videoView没有mediaPlayer那么多的监听器,我希望能够访问mediaPlayer以获得额外的控制和更好的事件处理.
我有一个VideoView,当我启动电子邮件意图时,它会暂停.电子邮件意图完成后,我希望videoView继续播放,但是,它从头开始重新启动.
@Override
public void onPause() {
Log.d(TAG, "onPause called");
super.onPause();
videoView.pause();
}
@Override
public void onResume() {
super.onResume();
Log.d(TAG, "onResume called");
videoView.start();//resume() doesnt work
}
Run Code Online (Sandbox Code Playgroud)
如何让videoView从停止的位置恢复.
当我在Android版本4.2.1中的videoView上播放视频时,我遇到了这个崩溃.我在Micromax Canvas A210设备上特别发现了这一点.它没有显示发生错误的任何消息.这是一个错误或应用程序中的错误吗?崩溃日志如下:
09-18 11:05:53.245: E/AndroidRuntime(2323): FATAL EXCEPTION: main
09-18 11:05:53.245: E/AndroidRuntime(2323): java.lang.StringIndexOutOfBoundsException: length=11; regionStart=0; regionLength=-1
09-18 11:05:53.245: E/AndroidRuntime(2323): at java.lang.String.startEndAndLength(String.java:583)
09-18 11:05:53.245: E/AndroidRuntime(2323): at java.lang.String.substring(String.java:1464)
09-18 11:05:53.245: E/AndroidRuntime(2323): at android.widget.VideoView.openVideo(VideoView.java:407)
09-18 11:05:53.245: E/AndroidRuntime(2323): at android.widget.VideoView$6.surfaceCreated(VideoView.java:730)
09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.SurfaceView.updateWindow(SurfaceView.java:606)
09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.SurfaceView.access$000(SurfaceView.java:88)
09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:183)
09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:692)
09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2123)
09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1139)
09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4879)
09-18 11:05:53.245: E/AndroidRuntime(2323): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:776)
09-18 11:05:53.245: E/AndroidRuntime(2323): at …Run Code Online (Sandbox Code Playgroud) 我正在使用导航抽屉和tablayout.我的标签中有一个视频,一开始看不到,但我能听到声音.一旦我设定
video_view.setZOrderOnTop(true);
Run Code Online (Sandbox Code Playgroud)
我也可以看到视频,但这会导致导航抽屉出现问题.
当我滑动它时,视频不会像所有其他元素一样隐藏在导航抽屉后面.
如果我不使用
video_view.setZOrderOnTop(true);
Run Code Online (Sandbox Code Playgroud)
然后我的抽屉工作正常.
main_activity.xml
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Framelayout to display Fragments -->
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/menuwhite2"
android:id="@+id/custom_home"
android:gravity="center"
android:layout_gravity="right"
android:layout_marginRight="10dp"/>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabGravity="fill"
/>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
<!-- Listview to display slider menu -->
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="end"
android:choiceMode="singleChoice"
android:divider="@color/list_divider"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector"
android:background="@color/list_background"/>
Run Code Online (Sandbox Code Playgroud)
tab_fragment.xml
<?xml …Run Code Online (Sandbox Code Playgroud) android navigation-drawer android-videoview android-tablayout