【问题标题】:Android Media Player IssueAndroid 媒体播放器问题
【发布时间】:2011-11-19 22:40:00
【问题描述】:

我通过拉起媒体播放器获得了要在 WebView 中播放的 HTML-5 视频,但是,它的显示如下图所示。任何人都知道我可以如何扩展它以使其全屏显示?或者,居中?

以下是创建 WebView 然后创建 WebChromeClient 以在其中播放 HTML-5 视频的代码。

   myWebView.setWebChromeClient(new WebChromeClient() {  

                public void onShowCustomView(View view, CustomViewCallback callback) {  
                        super.onShowCustomView(view, callback);  
          if (view instanceof FrameLayout){  
              FrameLayout frame = (FrameLayout) view;  
              if (frame.getFocusedChild() instanceof VideoView){  
                  VideoView video = (VideoView) frame.getFocusedChild();  
                  frame.removeView(video);
                  setContentView(video);  
                  video.setOnCompletionListener(new OnCompletionListener() {  

                     @Override  
                     public void onCompletion(MediaPlayer mp) {  
                         mp.stop();  
                         setContentView(R.layout.mnwv_main);  
                     }  
                 });  
                  video.setOnErrorListener(new OnErrorListener() {  

                     @Override  
                     public boolean onError(MediaPlayer mp, int what, int extra) {  
                         return false;  
                     }  
                 });  
                  video.start();  
              }  
          }  
      }  
      }); // new WebChromeClient() ends...        

    myWebView.loadUrl("http://www.meanwhileinwv.com");

}

【问题讨论】:

    标签: android html video media-player fullscreen


    【解决方案1】:

    有谁知道我可以如何扩展它以使其全屏显示?

    将手机逆时针旋转 90 度(如果您的设备相对较新,也可以顺时针旋转)。这将使视频播放得更大,尽管它不可​​能全屏播放,因为视频的纵横比可能与您的设备不匹配。

    或者,居中?

    见:

    Position Video Inside a VideoView

    【讨论】:

    • 不,我不能把它转 90 度。活动设置为纵向。我只想在视频开始时将其强制为横向。视频没有在视频视图中播放......问题说我有一个 HTML-5 视频要在 WebView 中运行,所以这根本没有帮助。
    • @comead:“我只想在视频开始时将其强制为横向”——然后不要将活动设置为纵向。要么将其设置为横向,要么不理会它,让用户实际决定他们希望如何使用他们的设备,或者不在WebView 中显示视频并编写一个单独的横向活动来显示视频。
    • 你将如何改变我必须使用一个使用 VideoView 的新活动?我从未使用过 VideoView。而且,我必须将它设置为该活动的纵向,因为在您观看视频之前,它不能是横向的。
    • @comead:“你将如何改变我必须使用使用 VideoView 的新活动?” ——我不知道你有什么。我假设您有一个链接指向显示视频的页面。通过shouldOverrideUrlLoading() 教您的WebViewClient 将控制路由到播放视频的某些活动。它甚至不必是您的播放器——很可能,设备内置了一个,因此带有适当 URL 和 MIME 类型的 ACTION_VIEW Intent 就足够了。
    • @comead:“而且,我必须将其设置为纵向以进行该活动,因为在您观看视频之前,它不能是横向的。” ——当然可以。关于肖像,唯一可以说的是它比风景更窄。你是说你不能写一个可以在平板电脑上运行的应用程序吗?还是 HTC Rezound 或 Galaxy Nexus 之类的 720p 手机?毕竟,它们的纵向宽度(720-800 像素)与许多设备的横向宽度一样宽,甚至更宽。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多