我正在尝试使用视频视图播放RTSP流: - @Override protected void onCreate(Bundle savedInstanceState) { HEADER_BLOCK = true; this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.video_view); super.onCreate(savedInstanceState); progressDialog = ProgressDialog.show(this, "Loading", "Opening video...", true); mediaController = new MediaController(VideoStreamingActivity.this); videoV
以下是关于 videoview 的编程技术问答
我正在通过VideoView在我的Android应用程序中打开一个IP摄像头的RTSP流.有一个问题是它具有巨大的延迟,达到了20秒以上!虽然通过其浏览器从普通PC查看相机,但没有这样的延迟.请问任何想法吗? 我的代码: String path="rtsp://192.168.1.20/3gpp"; myVideoView.setVideoURI(Uri.parse(path)); myVideoView.setMediaController(new MediaController(this)); myVideoView.requestFocus(); myVideoView.start(); 解决方案 使用mjpeg流,而不是RTSP.经过大量研究后,我发现了一个MJPEG查看器类,实时播放直播(取决于您的网络连接). 这里的代码 android和mjpeg
我想知道 - 有没有办法获取 Android videoView 当前正在播放的帧速率.我查看了 VideoView 类的文档,但无济于事.有没有其他方法可以做到这一点? 谢谢. 解决方案 是的,你可以. VideoView 扩展了 View,因此您可以创建自己的 YourVideoView 类来扩展 VideoView,实现 onDraw 方法,在那里调用 super.onDraw,并在那里执行您的 FPS 计算. 因此,您可以数一数在第二次为 VideoView 调用 onDraw 的次数.将其显示在您需要的任何位置(在屏幕上/logcat/...). 计算帧率是另一回事,您可以在这里查找简单示例.
我正在使用以下代码来播放存储在section的mp4视频....并且我收到如此错误 - > 这个视频无法播放???? Uri video = Uri.parse("http://129.0.0....."); MediaController mediaController = null; mVideoView.setMediaController(mediaController); startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://129.0.0...."))); mVideoView.setVideoURI(video); mVideoView.setVideoPath("http://129.0.0......"); mVideoView.requestFocus(); mVideoView.start(); 解决方案 这可能对您有帮助我在Android 2.3.3中使用了它. pu
我正在研究一个音乐应用程序,显示关于歌曲的歌词和信息,也播放来自youtube网址的歌曲. 在我的活动中,有一些TextViews(对于歌词/信息)和一个VideoView(对于YouTube Link). 我创建了一个名为youtubevideo的类,这有以下内容: 下载此页面的内容: http://gdata.youtube.com/feeds/api/videos?q=song_name&v=2& max-results=1 ,解析它的内容并获取YouTube的ID(例如 evul5jychow ).这是一个RSS进给页面,用于搜索视频并显示1结果(以及我需要做的就是更改查询). 下载此页面的内容: http://gdata .youtube.com/feeds/api/视频?q = youtubes_id&format = 1&alt = json ,解析它的内容并获取RTSP(例如 RTSP://v7.cache3...3gp ).这是一个XML文件,包含有
我有一个 VideoView,它设置为填充父级并且适用于全尺寸视频,我发现当视频大小为 4:3 或更小时它保持在我的视图左侧时很难找到解决方案,而相同的应用程序在ios全屏显示.我们可以调整视频的大小并以与 Video View 相同的大小显示它吗?或者 VideoView 的内容可以调整大小吗?我试过了 view.measure(View.MeasureSpec.EXACTLY, View.MeasureSpec.EXACTLY); 但没有结果 解决方案 制作一个像这样的自定义视频类: 公共类 CustomVideoView 扩展 VideoView { protected int _overrideWidth = 480; protected int _overrideHeight = 360; public CustomVideoView(Context context) { super(context); } public CustomVide
我发现在VideoView上调用setRotation()后,VideoView不再播放. Android运行时没有抛出错误,VideoView正确地确定其裁剪尺寸,但仅显示为纯黑色框. 是一种已知的限制?如果是的话,还有另一种方式来旋转VideoViews吗?我正在使用API级别16. 编辑:视频播放音频,但没有视频.也许底层表面view没有被重新定位? 解决方案 以便在以后帮助某人时回答自己,这是一个已知的视频视图限制.引用这个Android图形博客文章 : 因为SurfaceView的内容不会居住在应用程序的窗口中,因此无法有效地转换(移动,缩放,旋转).这使得难以在ListView或ScrollView中使用SurfaceView. SurfaceView也无法正确地与UI工具包的某些功能正确交互,例如渐渐边缘或View.setalpha(). 我可以找到的唯一解决方案是用新引入的纹理视图,仅适用于API级别14及更高版本.从我读取的东西,它目前兼
我想在Android中的VideoView中播放视频,在Android 中 _player.setVideoURI(Uri.parse(uri)); MediaController mc = new MediaController(this); _player.setMediaController(mc); _player.start(); 现在我想要设置时间:10:20寻求文件并播放(10分钟和20秒) 解决方案 :查看 VideoView.seekto(int msec )方法 还请注意 doc 可以通过呼叫来调整播放位置(INT). 虽然异步搜索(int)呼叫返回正确的方式,但是 实际寻求操作可能需要一段时间才完成,特别是为 音频/视频正在流动.实际寻求操作完成后, 内部播放器引擎呼叫提供用户 onseekcomplete.onseekcomplete()如果onseekcompleteListener一直
我已经参考了 的答案 android-youtube-app-play-video-intentp> how-to-play-youtube-video-in-my-android-application 等等.所有这些都在使用 Intent 播放视频,这会创建一个新窗口,更准确地说是创建一个新 Activity. 但是,我有一个场景,我想通过停留在同一个活动中来通过单击按钮来播放视频 请参阅此视频教程:http://mfarhan133.wordpress.com/2010/10/13/using-audio-video-files-tutorial-for-android/ 解决方案 使用 VideoViewhttp://developer.android.com/reference/android/widget/VideoView.html
我正在开发一个将显示一个视频作为"背景"的应用程序,并在其顶部(使用Framelayout)具有文本和其他视图. 出于某种原因,当启用沉浸模式时,我正在使用的TextView将消失,尽管它在滑动时重新出现以显示系统导航/状态栏. 这是我的代码: public class MainActivity extends Activity{ private Uri video; private PowerManager.WakeLock wl; private FrameLayout frame; private TextView text; private VideoView videoview; private FrameLayout.LayoutParams layoutParams; @SuppressWarnings("deprecation") @Override protected void
我正在研究录像应用程序.我想列出我将在特定文件夹中存储的视频.BY以下代码,我可以从Mobile获取所有视频.但是我需要从特定列出视频folder.can任何引导我.谢谢提前 public class VideoListActivity extends Activity { private Cursor videocursor; private int video_column_index; ListView videolist; int count; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.act
我有一个应用程序使用VideoView显示视频.布局由一个时钟和一个在一个简单的垂直线性线索排出的视频. 这是我使用的代码片段: VideoView mVideoView = new VideoView(this); mVideoView.setVideoPath(myVideoURL); mVideoView.requestFocus(); mVideoView.start(); 由于视频的缓冲大约8-10秒,布局提出了时钟,但VideoView会留空.我想要实现的是: - 在视频缓冲时显示10s的图像视图 - 检测视频准备好播放(onprepared?) - 显示时钟和VideoView并启动视频 任何人都有指针如何走这个? 谢谢 克里斯 解决方案 MediaPlayer将让您允许您注册一个 onpreparedlistener 您可以使用的回调来确定何时开始视频何时开始.所以你将首先显示你的图像视图而不是VideoView,然后在调用回调时
我正在为在线视频创建一个媒体播放器,但是当我尝试运行时显示表面已发布的错误.这是我的编码: public class VideoSample1 extends Activity implements Callback, OnPreparedListener, OnCompletionListener, OnClickListener, OnSeekCompleteListener, android.view.SurfaceHolder.Callback { public String video_path = "My video URL"; private SurfaceView surfaceViewFrame; private MediaPlayer player; private SurfaceHolder holder; private Bundle extras;
我目前正在使用两个Android手机之间的视频流. 我写了一个能够将视频录制到SD文件的应用程序(使用MediareCorder);我写了另一个能够显示文件的视频的应用程序.这两个应用程序都完美地工作. 我发现了一个关于"使用Android的广播视频的网站 - 在下面的网站上没有写入本地文件".这正是我想做的. http://www .mattakis.com/博客/kisg/20090708/广播 - 视频 - android-android-with-file-system 我修改了我的代码. 为录像机, 它是: socket=severSocket.accept(); ParcelFileDescriptor=pfd; recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT); re
我只是想知道他们两个用于流媒体视频之间的不同是什么? 我知道VideoView可用于流媒体,什么是Mediaplayer?到目前为止,我知道MediaPlayer可以做与VideoView右边的相同? 任何人都可以给我答案吗? 如果我想通过使用RTSP向Android使用RTSP传输视频,我应该用什么? VideoView或MediaPlayer? 任何建议? 解决方案 询问了同样的问题,并且当我理解的标记(Commansware)在这里提供众多线程的建议,VideoView是一个包装器(200百多号码),用于MediaPlayer和SurfaceView以提供嵌入式控制. 他也友好分享了一些例子: https://github .com/commonsguy/cw-propandroid/blob/master/media/video/src/com/commonsware/android/video/videodemo.java ht
我需要在相同的布局中播放YouTube视频和录制视频. 要执行此目的,我搜索YouTube API并发现Android版本需要高于2.2,但是,我将使用视频视图 我在这里看到了一些关于这个问题的帖子,并决定终于使用此代码在VideoView中使用此代码. videoView = (VideoView) findViewById(R.id.your_video_view); Log.d(TAG,getUrlVideoRTSP(current_url) + " id yotube1 " ); //here type the url... videoView.setVideoURI(Uri.parse(getUrlVideoRTSP(current_url))); videoView.setMediaController(new MediaController(this)); //sets MediaController in the video view vi
通过思考"Androida"思考"Pandora",最容易理解这一示例. 我的活动有一个VideoView从课堂上播放讲座. 我希望能够将此活动从此活动切换到另一个活动(在我的应用程序中,或者在没有中断的情况下向其他活动或不同的应用程序(主屏幕,其他应用程序)). 使用Pandora示例,我可以在播放音乐时进入"交换机无线电站"视图,我可以进入主屏幕并继续无缝地在手机上导航. 这可能是视频或仅限音频吗?我可以从视频文件中播放音频,然后轻松切换回来吗? 解决方案 这是处理的一般方式(以及Pandora如何处理它)是从背景线程上的服务中播放音乐.在这种情况下,VideoView无法使用,因为它是一个视图,并与活动相关联. 我会通过从android 在后台服务中运行MediaPlayer,当显示视频活动时,使用视频视图曲面具有服务调用MediaPlayer.SetDisplay(),并在隐藏视频视图时调用带有NULL的MediaPlayer.SetDisplay