【问题标题】:How to get resolutiion of video stream by url *.m3u8如何通过 url *.m3u8 获取视频流的分辨率
【发布时间】:2014-01-29 12:53:06
【问题描述】:

我在视频视图中通过 url *.m3u8 打开流视频
我的设备显示为 800x480
但如果视频流分辨率为 1024x768,视频将停止播放并可能导致应用崩溃。

如何通过 url *.m3u8 获得视频流的分辨率?或者如何调整视频流的大小?

mVideoView.setMediaController(new MediaController(OpenStream.this));
                        mVideoView.setVideoURI(Uri.parse(url));
                        mVideoView.requestFocus();
                        mVideoView.setOnPreparedListener(new OnPreparedListener() {


                                public void onPrepared(MediaPlayer mp) {
                                    mp.start();
                                }
                            });

错误:

01-29 18:21:12.831: E/MediaPlayer(23281): error (1, -2147483648)
01-29 18:21:12.831: V/MediaPlayer(23281): callback application
01-29 18:21:12.831: V/MediaPlayer(23281): back from callback
01-29 18:21:12.831: E/MediaPlayer(23281): Error (1,-2147483648)
01-29 18:21:12.831: D/VideoView(23281): Error: 1,-2147483648

【问题讨论】:

  • 您可以从MediaPlayer获取视频的宽度/高度,然后您可以将它们设置为VideoView SurfaceHolder。

标签: java android video resolution m3u8


【解决方案1】:

试试这个

            mVideoView.setMediaController(new MediaController(OpenStream.this));
                    mVideoView.setVideoURI(Uri.parse(url));
                    mVideoView.requestFocus();
                    mVideoView.setOnPreparedListener(new OnPreparedListener() {


                            public void onPrepared(MediaPlayer mp) {
                                int w = mp.getVideoWidth();
                                int h = mp.getVideoHeight();
                                SurfaceHolder holder = mVideoView.getHolder();
                                holder.setFixedSize(w, h); // Or setup a proportional sizes
                                mp.start();
                            }
                        });

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-07-04
  • 2013-04-27
  • 1970-01-01
  • 2022-08-03
  • 2015-11-02
  • 2017-05-09
  • 2011-07-05
  • 2020-12-25
相关资源
最近更新 更多