Articles of videoview

媒体播放器使用YouTube?

我正在开发一个使用MediaPlayer的示例应用程序。通过使用原始资源文件夹,可以播放video。但是我想通过URL播放,我该如何实现? 我的代码是: VideoView videoView = (VideoView) findViewById(R.id.VideoView); MediaController mediaController = new MediaController(this); mediaController.setAnchorView(videoView); // Set video link (mp4 format ) Uri video = Uri.parse("http://www.youtube.com/watch?v=T1Wgp3mLa_E"); videoView.setMediaController(mediaController); videoView.setVideoURI(video); videoView.start();

在Android中通过VideoView显示和隐藏播放button

我希望能够显示一个button来开始一个video,集中在video将播放(使用VideoView)相同的视图。 我也希望button消失后,我点击它,因为我使用MediaController类执行暂停,后退,快进行动一旦video已经开始。 我该怎么做呢? 这是我迄今为止的布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <FrameLayout android:id="@+id/video_frame" android:layout_width="fill_parent" android:layout_height="480px" android:background="#000" > <VideoView android:id="@+id/video_view" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </FrameLayout> 我已经尝试以编程方式向FrameLayout添加一个ImageButton,但似乎没有工作。

Android VideoView无法播放video错误,特别是.mp4

我试图在我的应用程序中播放video,但无法播放此video错误。 我遇到了很多关于这个问题的线索。 一旦玩家准备好了,他们就要求开始录像。 我也一样 但无法弄清楚这个问题。 请在下面find我的代码。 public class Video extends Activity implements MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener { public VideoView vidPlayer; @Override protected void onCreate(Bundle savedInstanceState) { setup(); activateVideoPlayer(); } public void setup() { setContentView(R.layout.step_video); vidPlayer = (VideoView) findViewById(R.id.videoPlayer); String playableUrl = "http://teststreaming7v.s3.amazonaws.com/public/7515/1374782317346-beagle_puppy_howl_640x360_448_main.mp4"; } @Override public void onPrepared(final MediaPlayer mediaPlayer) { mediaPlayer.setLooping(false); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); startPlayer(); videoLoaded = true; mediaPlayer.setOnBufferingUpdateListener(new […]

我怎样才能播放video块的字节?

我想在Android中播放video,这是我保存在资产文件夹中的video。 我已经把它改成了一个字节数组,并使用下面的代码成功播放 private String getDataSource() throws IOException { InputStream stream = getAssets().open("famous.3gp"); if (stream == null) throw new RuntimeException("stream is null"); File temp = File.createTempFile("test", "mp4"); temp.deleteOnExit(); String tempPath = temp.getAbsolutePath(); int totalRead = 0; int bytesToRead = 1 * 1024; FileOutputStream out = new FileOutputStream(temp); byte buf[] = new byte[128]; int numread = 0; […]

video不会在片段ViewPager中暂停

我使用视图寻呼机与片段来显示图像和video,我能够正确显示图像和video,但我有问题,当我刷video,然后video播放,但我刷下一个或以前,然后video仍在播放只是下一个或上一个屏幕,但是当我移动两个幻灯片的下一个或上一个,然后video正在停止,但为什么不在下一张或上一张幻灯片。 我更多的search,但我没有得到任何解决scheme,任何帮助将是可观的。 提前致谢。 这是我的代码: 这是片段类 public class ContentFragment extends Fragment { private final String imageResourceId; private String type; public ContentFragment(String imageResourceId,String type) { System.out.println("Path In cons="+imageResourceId+"and type is="+type); this.imageResourceId = imageResourceId; this.type= type; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e("Test", "hello"); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } @Override public View […]

如何检测VideoView何时开始播放(Android)?

这里的问题,我想改变播放button暂停button时,videostream开始在video播放,但我不知道如何检测该事件?

如何正确closures横向VideoView活动?

在我的应用程序中,我有横向模式下的活动播放HTTP直播video。 我的AndroidManifest.xml: <activity android:name=".MediaPlayerActivity" android:label="@string/menu_player" android:launchMode="singleInstance" android:screenOrientation="landscape"> </activity> 我的活动布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/black"> <VideoView android:id="@+id/myVideoView" android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_gravity="center_horizontal" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true"/> </LinearLayout> 问题是每当我closures这个活动(通过点击返回button),它总是旋转到肖像模式(时间很快,但实际上你可以看到实际设备上的效果之前,回到上一个活动),然后closures。 我怎样才能解决这个烦人的问题? 更新与更多的信息 这种烦人的行为只发生如果以前的活动是肖像模式,如果前一个是风景,这就好了。 对于我来说,使用不同的screenOrientation设置淡入/淡出活动时,看起来像是使用Android框架做的事情。 更新原因 经过Google API的深入阅读,我想我find了造成这种烦人行为的原因,请看这里 : 除非另外指定,否则configuration更改(例如屏幕方向,语言,input设备等的更改)将导致当前活动被破坏,通过onPause(),onStop()的正常活动生命周期过程onDestroy()视情况而定。 如果活动在前台或用户可见,则在该实例中调用onDestroy()后,将创build一个新的活动实例,其中前一个实例从onSaveInstanceState(Bundle)生成的saveInstanceState。 所以当后退button被点击时,幕后发生了什么事情:currnet VideoView Activity(横向)被破坏,由于screenOrientationconfiguration被改变而创build了一个新的VideoView活动(肖像),并立即去掉(在屏幕上可以看到效果)显示堆栈中的最后一个活动。 这也解释了为什么这个恼人的行为如果最后的活动有相同的screenOrientationbuild立消失。 我仍然试图找出如何绕过这个活动的娱乐由于configuration的变化。 正如它在API中所述,重写onConfigurationChanged(Configuration),然而,因为我明确地定义了xml中的screenOrientation,所以onConfigurationChanged()没有被调用,很多类似的SO已经被讨论过了,像这样 。 请在正确的方向提供答案。 谢谢, ÿ

为什么Android的VideoView需要花费太多时间从http链接加载和播放video?

以下是我的代码: package com.example.videoplayer; import android.app.Activity; import android.app.ProgressDialog; import android.media.MediaPlayer; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.widget.MediaController; import android.widget.VideoView; public class VideoPlayerActivity extends Activity { String TAG = "com.example.VideoPlayer"; ProgressDialog progDailog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_video_player); final VideoView videoView = (VideoView) findViewById(R.id.videoView1); videoView.setVideoPath("http://www.ebookfrenzy.com/android_book/movie.mp4"); MediaController mediaController = new MediaController(this); mediaController.setAnchorView(videoView); videoView.setMediaController(mediaController); videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() […]

VideoView顶部的android透明WebView

我有一个Ionic项目,我想要显示一个video,并在其上面的cordovaWebView的内容。 要在video视图顶部使用透明的WebView ,请使用以下插件: webView.getView().setBackgroundColor(0x00000000); ((ViewGroup) webView.getView()).bringToFront(); VideoView被初始化并添加到如下的FrameLayout : FrameLayout containerView = (FrameLayout) cordova.getActivity().findViewById(1); if (containerView == null) { containerView = new FrameLayout(cordova.getActivity().getApplicationContext()); containerView.setId(1); containerView.setBackgroundColor(Color.BLACK); FrameLayout.LayoutParams containerLayoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT); cordova.getActivity().addContentView(containerView, containerLayoutParams); videoView = new VideoView(cordova.getActivity()); videoView.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT)); containerView.addView(videoView); MediaPlayer player = new MediaPlayer(); player.setOnPreparedListener(this); player.setOnCompletionListener(this); player.setOnErrorListener(this); final SurfaceHolder holder = videoView.getHolder(); holder.setKeepScreenOn(true); holder.addCallback(new […]

android多videoView问题,Galaxy Tab具体

我在Galaxy Tab上特别遇到了多个videoView的问题。 在我的应用程序中,我有两个不同的video文件,我想同时播放。 所以我devise我的应用程序有两个videoViews并排。 试图运行在两个非银河标签,它的工作。 那样容易。 但是,我试图在Galaxy Tab上testing,问题就出来了。 这两个video文件不播放。 在某一时刻,第一个video文件将播放,然后停止并popup“无法播放video”错误。 我花了差不多两天的时间寻找问题的原因,但是我失败了。 这就是我为什么要猜测可能是什么原因。 我的怀疑是它不能同时呈现两个video,所以我试图只使用MediaPlayer播放第一个文件的声音,并在videoView中播放另一个。 我觉得我的猜想是对的,因为它是有效的,第一个video文件只播放声音,另一个播放完整的video和声音。 我正在寻找有这种问题的人,或者知道解决方法的人。 我将在这里发布我的简单代码,让你看看它。 我将衷心感谢您的帮助! 提前致谢。 junmats。 final videoView v1 = (VideoView) findViewById(R.id.videoView1); final videoView v2 = (VideoView) findViewById(R.id.videoView2); Thread th1 = new Thread(new Runnable() { @Override public void run() { Uri uriFile = Uri.parse(myFile); v1.setVideoURI(uriFile); v1.start(); } }); th1.start(); Thread th2 = […]