Articles of videoview

Android VideoView无法播放顺序video

我想连续播放2个video。 第一个video总是播放得很好。 完成后,您可以在日志中看到它设置了新的videoURL,但是SurfaceView会抛出一个错误,VideoView会冻结第一个video的最后一帧。 没有其他事情发生。 有什么想法吗 ? 谢谢 ! LE:令人惊讶的是,OnPreparedListener被调用第二个video。 LE2:有时候第二个video播放得很好,有时它不会…而且我没有在它工作时和不工作时之间改变一行代码。 这纯粹是随机的…… LE3:快速解决方案是在设置新videourl之前添加此行: mVideoView.setVisibility(View.GONE); OnCompletionListener中的代码: setCurrentPlaybackUrl(); // sets mCurrentMediaUrl to the second video URL mVideoView.setVideoPath(mCurrentMediaUrl); mVideoView.start(); 这是第一个video完成播放时的日志输出: 10-22 12:32:35.762: I/AwesomePlayer(126): setDataSource_l(‘https://xx/TestingVideo_lo.mp4’) 10-22 12:32:35.762: E/BufferQueue(123): [SurfaceView] connect: already connected (cur=3, req=3) 10-22 12:32:35.762: E/MediaPlayerService(126): setVideoSurfaceTexture failed: -22 10-22 12:32:35.762: E/BufferQueue(123): [SurfaceView] connect: already connected (cur=3, req=3) 10-22 […]

Android VideoView – 检测video中的时间点

我正在使用VideoView来显示video。 我正在使用setOnPreparedListener和setOnCompletionListener来处理video开始和结束之前和之后的内容。 我想知道如何在video中检测某些时间点。 例如,假设我想在video播放10秒时将日志写入文件。 如何检测10s标记? 谢谢克里斯

Android VideoView错误(1,16)并显示黑屏

我有一个带有VideoView的应用程序,它从内部存储器播放mp4文件(我的包files目录) 在一些三星Epic Touch 4g(Galaxy SII)设备而不是显示的video上,屏幕完全是黑色的。 我的应用程序中的其他所有内容都会正常运行并响应,因此设备根本不会“冻结”,只是在屏幕上显示黑色而不是video。 要启动我的video,我使用onPreparedListener回调来调用start(): mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer arg0) { mVideoView.start(); } }); 然后我设置要使用此调用播放的video: //file is the reference to my video File object. //I am positive that it is correct mVideoView.setVideoPath(file.getAbsolutePath()); 我有一个onErrorListener设置如下: mVideoView.setOnErrorListener(new OnErrorListener(){ @Override public boolean onError(MediaPlayer arg0, int arg1, int arg2) { Log.i(myTag, “MP ERROR: “+ arg1 […]

如何在video上设置媒体控制器?

我创建了简单的video视图应用程序,它工作正常。 我已将layoutparams添加到video视图中,并将videoview添加到一个布局位置,那时我的媒体控制器显示出该区域但我希望向video显示媒体控制器。请给我你有用的建议。 屏幕截图: 码: public class MainActivity extends Activity { private VideoView view; RelativeLayout layoutmain, layout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); layoutmain = (RelativeLayout) findViewById(R.id.id1); MediaController controller = new MediaController(this); view = new VideoView(this); view.setVideoPath(“/mnt/sdcard/jj.avi”); RelativeLayout.LayoutParams viewparam = new RelativeLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT); viewparam.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); viewparam.addRule(RelativeLayout.ALIGN_PARENT_TOP); viewparam.addRule(RelativeLayout.ALIGN_PARENT_LEFT); viewparam.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); view.setLayoutParams(viewparam); FrameLayout.LayoutParams viewparam1 = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT); […]

为什么我的Android应用程序在播放后说“无法播放video”?

我有一个简单的应用程序,从一个在VideoView中播放mp4video的启animation面活动开始。 video完成后,我正在尝试通过OnCompletionListener启动新活动。 当我启动应用程序时,video完美运行; 按预期播放声音和音频。 video播放完毕后,应用会显示一个标题为“无法播放video”的对话框,并在按下“确定”按钮后继续正常播放。 当我将音频添加到我使用Adobe After Effects创建的mp4时,问题似乎才会发生。 我使用完全相同的video减去音频轨道,它不会抛出此错误。 我假设文件的编码很好,因为它在显示对话框之前完全播放。 这是我的代码: public class Splash extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splash); Uri video = Uri.parse(“android.resource://” + getPackageName() + “/” + R.raw.audio_intro); VideoView videoview = (VideoView) findViewById(R.id.splash_view); videoview.setKeepScreenOn(true); videoview.setVideoURI(video); videoview.setOnCompletionListener(new OnCompletionListener() { public void onCompletion(MediaPlayer mp) { Intent intent = new Intent(Splash.this, […]

最大video大小可以添加到原始文件夹android支持吗?

我有70MB的video文件,我想通过原始文件夹播放,但应用程序没有启动如何在android中的资产/原始文件夹中添加此video文件?

在VideoView中将MediaController保留在屏幕上

使用VideoView时,我无法find将MediaController保留在屏幕上的方法。 我想在我的应用程序中播放res / raw中的音频文件。 该文件正在播放,但我想将控制器保留在屏幕上,以便用户查看文件的长度以及在结束之前剩余的时间等。我在论坛上发现很多时间我们应该使用该方法.show (时间)为了做到这一点,但我无法弄清楚如何使它工作。 这是我正在使用的代码: package com.sample.VideoViewExample; import android.app.Activity; import android.net.Uri; import android.os.Bundle; import android.view.SurfaceHolder; import android.widget.MediaController; import android.widget.VideoView; public class VideoViewExample extends Activity implements SurfaceHolder.Callback{ private VideoView mVideoView; private MediaController mMedia; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); mVideoView = (VideoView) findViewById(R.id.surface_view); //mVideoView.getHolder().addCallback(this); //mMedia.show(50000); //mVideoView.setMediaController(mMedia); MediaController mMedia = new MediaController(this); mMedia.setMediaPlayer(mVideoView); […]

Android从VideoView获取video源路径

我有VideoView实例。 我需要知道它的video源路径。 可能吗? 有谁能够帮助我? 我在WebChromeClient类中的代码是: @Override public void onShowCustomView(final View view, final CustomViewCallback callback) { super.onShowCustomView(view, callback); if (view instanceof FrameLayout) { final FrameLayout frame = (FrameLayout) view; if (frame.getFocusedChild() instanceof VideoView) { // get video view video = (VideoView) frame.getFocusedChild(); } } } 如何获取video对象的video源路径?

android:onSeekCompleteListener与VideoView

我正在使用VideoView播放video文件。 我正在使用seekTofunction,以便从停止的位置播放video。 但是,我想在搜索操作完成时执行一些操作。 为此,我需要使用onSeekCompleteListener; 但是,VideoView不支持onSeekCompleteListener; 它可以与MediaPlayer一起使用。 我的问题是“我有什么办法可以使用VideoView查看完全可以使用onSeekCompleteListener”吗? 非常感谢

如何使用videoView和inputStream播放video

似乎videoView只支持几种播放video的方法,但它们都不支持最通用的播放forms,这很奇怪(因为我认为所有其他方法都使用它)。 我的问题:如何设置videoView来播放inputStream(任何types的inputStream,甚至是我自己定制的一个)? 是否有可能没有实际将数据复制到文件然后播放或有某种技巧来“管道”数据通过? 我认为音频缺少同样的东西,但我不确定。