Articles of videoview

Android 4.1 – 使用VideoView和MediaController的RTSP

开发一个简单的应用程序在Android 4.1上播放RTSPstream,但无法这样做 更新 如果我使用BigBuckBunny_115k.mov,我能够玩 Uri video = Uri.parse("rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov"); 但我尝试了很多这里和这里 提到的RTSPstream,但没有工作:( ****问题:在手机上看不到任何stream,只有黑屏可见。一段时间后,出现一个对话框“无法播放此video”。 我尝试了很多RTSPstream,但结果相同,所以提到的所有stream都有问题吗? 或.sdp不正确parsing? 代码段中缺less什么东西? **** public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); VideoView videoView = (VideoView) findViewById(R.id.video); MediaController mediaController = new MediaController(this); mediaController.setAnchorView(videoView); mediaController.setMediaPlayer(videoView); Uri video = Uri.parse("rtsp://ss1c6.idc.mundu.tv:554/prf0/cid_29.sdp"); videoView.setMediaController(mediaController); videoView.setVideoURI(video); videoView.start(); } <VideoView android:id="@+id/video" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" […]

Xamarin Android播放器 – 无法播放此video

我正在使用Android的VideoView在我的应用中播放embedded的video。 它在我的设备上工作正常,但我一直在Xamarin Android播放器中收到“无法播放此video”消息和黑屏。 相应的错误日志如下所示: Unable to play video [MediaPlayer] Error (1,-38) [VideoView] Error: 1,-38 我发现了一些关于这个错误的post,但是他们都没有帮我解决这个问题,我无法find这个状态码的正确描述。 我的C#代码如下所示: videoView = new VideoView (Context); base.SetNativeControl (videoView); videoView.SetOnErrorListener (new ErrorListener ()); string fileName = e.NewElement.FileSource; fileName = fileName.ToLower ().Substring (0, fileName.LastIndexOf (".")); int resourceID = Context.Resources.GetIdentifier (fileName, "raw", Context.PackageName); var fullPath = String.Format ("android.resource://{0}/{1}", Context.PackageName, resourceID); videoView.SetVideoPath (fullPath); videoView.RequestFocus […]

如何确定Android上的video宽度和高度

我有一个video文件,我想获得video的宽度和高度。 我不想玩,只是为了得到大小。 我试过使用MediaPlayer: MediaPlayer mp = new MediaPlayer(); mp.setDataSource(uriString); mp.prepare(); int width = mp.getVideoWidth(); int height = mp.getVideoHeight(); 但是它的宽度和高度返回0,因为VideoSizeChangedEvent还没有激发。 我怎样才能获得video的宽度和高度? UPD:我需要API版本7

获取Uri Android的真实path

我正在开发一个VideoPlayer 。 我将启动的意图的URI转换为一个string,它给了我content://media/external….. 但我需要得到真正的道路。 例如: /storage/extSdcard…. 我该怎么做呢? 这是我的代码,如果需要的话: videoURI = getIntent().getData(); vv.setVideoURI(videoURI); videoName = videoURI.toString(); tvTitle.setText(videoName);

在压缩文件中播放.mp4文件而不解压缩

在SD卡上,我有一个包含一个video文件(.mp4)的zip文件。 我需要通过VideoView播放video文件,而不需要解压缩。 到目前为止我已经尝试过: ZipFile zipFile = new ZipFile(new File("/sdcard/checking.zip")); ZipEntry zipEntry = zipFile.getEntry("checking.mp4"); InputStream inStream = zipFile.getInputStream(zipEntry); 但是我没有find任何从InputStream播放video的API。 zipEntry.getSize()确实返回值。 我试过videoView.setVideoURI(Uri.parse("//sdcard/checking.zip!/checking.mp4")); 从这里 但它显示“不能播放video”。 那么我怎么做(在标题中提到)在Android上。

带有Cookie(或标题)的VideoView

我正在尝试使用android.widget.VideoViewstream内容。 我需要确保在使用setVideoURI(Uri)时,VideoView将包含来自之前HttpClient调用的Cookie。 我在源代码中看到有setVideoUri(Uri,Headers),但是它有一个@Hide的JavaDoc注解,并且不会被编译。 那么,无论如何,通过CookieView或VideoView的HTTP请求传递头文件? 谢谢。

播放video时禁用Android的VideoView requestAudioFocus?

我正在构build一个logging和回放video的应用程序。 我想这样做,而不影响背景音乐播放,即如果我开始播放video,我不想暂停其他应用程序的audio。 但是,在棒棒糖上,当调用私有方法VideoView.openVideo()时,Android的VideoView类会自动请求audio焦点: AudioManager am = (AudioManager) super.getSystemService(name); am.requestAudioFocus(null, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN); 有关如何解决这个问题的任何build议?

Android – 对话框中的VideoView的MediaController出现在对话框后面

我在一个自定义对话框中有一个VideoView ,我正在创buildVideoView的媒体控制器,并将其分配给代码中的VideoView ,但是控制器实际上并没有出现在video上 – 它出现在对话框后面! 任何想法如何让控制器上面的video? 我创build了一个静态对话框助手类来帮助构build自定义对话框: public class DialogHelper { public static Dialog getVideoDialog(Context context, Uri videoLocation, boolean autoplay) { final Dialog dialog = getBaseDialog(context,true, R.layout.dialog_video); ((Activity)context).getWindow().setFormat(PixelFormat.TRANSLUCENT); final VideoView videoHolder = (VideoView) dialog.findViewById(R.id.video_view); videoHolder.setVideoURI(videoLocation); //videoHolder.setRotation(90); MediaController mediaController = new MediaController(context); videoHolder.setMediaController(mediaController); mediaController.setAnchorView(videoHolder); videoHolder.requestFocus(); if(autoplay) { videoHolder.start(); } videoHolder.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer […]

检测VideoVIew是否缓冲

有谁知道是否有可能检测VideoView缓冲? 我想在video缓冲时显示ProgressDialog。 到目前为止,我尝试使用OnPreparedListener,但只有在video第一次加载时才起作用。 如果正在播放video,并且用户将滑动条移动到不同的位置,则video仍处于“准备”状态,即使它正在缓冲。 我也试过(我知道这是可怕的)一个AsyncThread只是忙等待isPlaying(): private class BufferTask extends AsyncTask<Void, Void, Void> { protected Void doInBackground(Void…voids) { final VideoView videoView = (VideoView)findViewById(R.id.video); while (!videoView.isPlaying()) { } return null; } protected void onPostExecute(Void v) { // Hide the dialog here… } } 这是行不通的,因为只要你调用start(),VideoView似乎被认为正在播放,即使它正在缓冲。 我能想到的唯一的解决scheme是构build一个自定义的VideoViewtypes的类,所以我可以访问它的MediaPlayer实例。 有任何想法吗? 谢谢阅读。

如何在Android中以编程方式停止video播放?

我正在使用VideoView播放video,我想彻底停止播放video。请帮我解决这个问题。谢谢。