Articles of android videoview

在Android VideoView / MediaController上禁用缓冲

我们正在三星Galaxy Tab上编写Android应用程序。 我们有内窥镜(医疗手术摄像头)作为DV输入,我们希望将DVvideo直播到平板电脑。 作为流媒体服务器,我们有VLC播放器和RTSP流。 编码工作正常,通过网络(rtsp)流到另一台计算机是好的(<1s)。 但是,如果我们在Galaxy Tab上打开RTSP流,则会有6到7秒的延迟。 我试图设置比特率编码(即使最低不起作用,流延迟结果相同)。 所以我认为Android本身必须有某种网络缓存或视频缓存。 我用Google搜索并没有find一种方法来禁用甚至修改videoview / mediacontroller上的缓存。 有没有人知道如何调整Android Streaming View? 编辑:我发现必须是限制video流速度的内部缓冲区大小。 LogCat告诉我AweSomePlayer是Videoplayer的负责人。 那么下一个问题:如何改变awesomeplayer缓冲大小? 我认为它是用cpp编写的。 如何通过eclipse / java / android访问这个预编译的代码?

在dialogfragment中的android:videoview

我想在DialogFragment显示VideoView 。 现在,我面临两个问题: VideoView显示较暗的video: 原因是VideoView在对话框的窗口后面绘制。 我申请了, mVideoView.setZOrderOnTop(true); 但没有成功,它显示白色代替VideoView。 为此,我提到了这个问题。 甚至媒体控制器都隐藏在窗口后面。 我无法触摸并将媒体控制器恢复到可见状态。 我没有find任何办法让这次运行。 任何人都可以请这项工作或建议任何解决方法..? onViewCreated()代码: mMediaController = new MediaController(getActivity()); mMediaController.setAnchorView(mVideoView); Uri video = Uri.parse(videoDetailByIdResponse.getData().getVideoFile()); mVideoView.setMediaController(mMediaController); mVideoView.setVideoURI(video); mVideoView.requestFocus(); //mVideoView.setZOrderOnTop(true); mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mMediaController.show(); mVideoView.start(); } }); mVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { return false; […]

在VideoView中播放video时,Android后退按钮无法正常工作

在VideoView中播放video时,Android后退按钮无效。 但它在播放video之前有效。 我正在为VideoView使用自定义MediaController。 我尝试使用dispatchKeyEvent ,它无法正常工作。 使用VideoView的活动代码: mc = new CustomMediaController(mVideo.getContext(), screenIcon) { @Override public void hide(){ } @Override public boolean dispatchKeyEvent(KeyEvent event){ if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { super.hide(); ((Activity) getContext()).finish(); return true; } return super.dispatchKeyEvent(event); } }; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK)) { onBackPressed(); finish(); } return true; […]

RTSP 1080p直播Android客户端获取错误(100,0)

我的新监控摄像头刚到,所以我正在尝试编写一个应用程序来直播video。 由于它基本上没有文档,我安装了’onvifer’android应用程序,它允许您浏览相机的function。 此应用程序工作正常 – 获取video并允许PTZ控件等。它报告流式URL为: rtsp://192.1.0.193:554/mpeg4 我在VLC Windows客户端测试了流,它也能够从该URL流式传输video。 这让我觉得网络运行正常。 相机说明进纸将为1920×1080; VLC证实了这一点。 我活动中的基本代码: VideoView videoView = (VideoView)this.findViewById(R.id.VideoView); videoView.setVideoURI(Uri.parse(“rtsp://192.1.0.193:554/mpeg4”)); videoView.requestFocus(); videoView.start(); 我还在AndroidManifest.xml中给出了应用INTERNET权限,在相机上禁用了身份validation,并且在真实设备(而不是模拟器)上运行。 当我运行应用程序时,LogCat立即显示: setDataSource IOException happend : java.io.FileNotFoundException: No content provider: rtsp://192.1.0.193:554/mpeg4 at android.content.ContentResolver.openTypedAssetFileDescriptor (ContentResolver.java). 大约15秒后,该应用程序显示“无法播放此video”模式对话框,并将其添加到LogCat: MediaPlayer error (100, 0) AudioSystem AudioFlinger server died! MediaPlayer error (100, 0) VideoView Error: 100,0 我用谷歌搜索了我能想到的一切,但没有find任何有用的东西。 有什么想法吗?

VideoView变成黑屏

我正在开发多人video应用程序,所以在那里我创建了9个视图3 * 3。 当我初始化所有(3 * 3)video,然后正常工作几秒钟,一段时间后video进入黑屏,不显示单个video, 我不明白这个问题是面向设备或Android不支持超过1video活动 ,任何人都知道如何解决这个问题,否则如果video变成黑色,那么如何识别video会变成黑屏,如果我们发现这个,那么我将刷新视图并再次启动video,我不知道它是否正确方式与否。 请任何人知道如何解决这个问题然后请分享信息! 我使用下面的代码在一个活动中显示多个video videoPlayer.setVideoPath(“path”); videoPlayer.start(); videoPlayer.requestFocus(); videoPlayer.setKeepScreenOn(true); 设置准备听众 videoPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { } 设置完成监听器 videoPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { //play next } }); 处理错误监听器 videoPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() { @Override public boolean onError(MediaPlayer mediaPlayer, int i, int i1) { // play […]

如何从URL显示video

我的应用程序的主选项卡上有一个按钮,尝试通过第二个活动从URL启动video 我已经使用空白活动进行了测试,并在单击所述按钮时成功显示“Hello”。 然后我删除了’Hello’editext并将代码添加到java文件中,如另一篇类似的post所示。 当点击videobtn时,我收到消息;无法播放此video,确定’ 我已经测试了youtube链接,它是一个有效的链接。 然而,logcat错误消息包括: 10-07 09:04:36.785: I/MediaPlayer(11397): path is null 10-07 09:04:36.795: D/MediaPlayer(11397): setDataSource IOException happend : 10-07 09:04:36.795: D/MediaPlayer(11397): java.io.FileNotFoundException: No content provider: http://youtu.be/RFrg1xFoxeQ 我从哪里去? 第二项活动的XML如下: – 对应的Java文件 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_serve_motion_up_together); String videoPath2 = “http://youtu.be/RFrg1xFoxeQ”; VideoView videoView1 = (VideoView) findViewById(R.id.videoView1); videoView1.setVideoURI(Uri.parse(videoPath2)); videoView1.setMediaController(new MediaController(this)); videoView1.setVisibility(1); videoView1.bringToFront(); videoView1.requestFocus(); videoView1.start(); […]

带有缓存video的Androidvideo播放器库

我开发了基于video列表的Android应用程序,我遇到了一些问题, 1.滚动列表视图时需要自动播放video 2.需要暂停,停止,恢复和全屏模式 3.每次video都是流媒体 4.如何制作缓存video并无需播放 是否有任何Lib或参考链接,并提前谢谢

用户可以在MediaController上快速触摸。 Bug只在Nexus 4上发生。

在我的活动中,我有一个VideoView,它应该在触摸时显示MediaController。 如果用户在VideoView没有关注的情况下快速触摸Controller,那么在用户按下后退按钮后,我的应用程序将被卡住。 setContentView(R.layout.activity_play_video_fullscreen); videoView = (VideoView) findViewById(R.id.video_view); urlString = getIntent().getStringExtra(EXTRA_URL); videoView.setVideoURI(Uri.parse(urlString)); videoView.setOnPreparedListener(new OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { // video ready to play – hide progress bar ProgressBar pb = (ProgressBar)findViewById(R.id.progress_bar); pb.setVisibility(ProgressBar.INVISIBLE); } }); videoView.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { // video finished – terminate this activity AxUtils.axLog(AxUtils.eDbgLogError, AxUtils.eDbgLogGroupDialer, String.format(“PlayVideoFullsreenActivity.videoView.onCompletion(): […]

VideoView中Android纵向video方向错误

我在Android设备上以PORTRAIT方向捕获了一个新video,如下所示: Intent intent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE); startActivityForResult(intent, 1886); 它给了我这个文件:“/ mnt/sdcard/DCIM/Camera/video-2012-02-02-10-45-48.mp4” 然后我这样玩: private VideoView videoView = (VideoView) findViewById(R.id.videoView); String videoUrl = “/mnt/sdcard/DCIM/Camera/video-2012-02-02-10-45-48.mp4”; videoView.setMediaController(new MediaController(this)); videoView.setVideoURI(Uri.parse(videoUrl)); videoView.start(); 这是我的布局文件: 当我在标准Android画廊中播放时,方向是正确的。 但是当我在上面的VideoView中播放video时,它旋转了90度。 景观效果很好,唯一的问题是人像video。 如何在VideoView中旋转此video? 另外,我如何以编程方式确定方向?

如何从Android中的videoURL捕获/录制剪辑并保存到手机

在Android中,是否可以从videoURL(例如: http : //www.test.com/video.mp4 )录制短片段(例如video中任意5-10秒)? 例如,我想在一个Activity中传输一个video(来自url),并允许从中捕获/录制一个短片段。 也许,允许用户从video中录制任意开始/结束时间。 如果是这样,是否有API来完成此任务? 如果没有,是否有支持此function的Android库? 请为此提供示例代码解决方案。