3
  1. 注 1: この質問は 、Flash ビデオではなく、 HTML5ビデオのみを対象としています。
  2. 注 2: また、特に Androidで再生される HTML5 ビデオを対象としています。

YouTube に次の HTML5 ビデオがあるとします。

<div id="player">
<video poster="data:image/gif;
base64,R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" 
src="http://v19.lscache2.c.youtube.com/videoplayback?begin=0&amp;itag=18&amp;
ipbits=0ampsignature=151700E49EA1B695940D89926C1C07CDF0C176F0.B7DE0453C70BFBA0BA644DE7F6BBB72E9EE43B5F&amp;
sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cratebypass%2Coc%3AU0hPSVRSUl9FSkNOOV9MTFZF&amp;
sver=3&amp;
ratebypass=yes&amp;expire=1304474400&amp;len=265000&amp;key=yt1&amp;ip=0.0.0.0&amp;
id=55884c15b4baba8f&amp;el=home&amp;yms=5602568839599417322&amp;app=youtube_mobile" class="bn" width="1" height="2" id="player_VYhMFbS6uo8">
</video>
</div>

src=読み込まれる URL として属性を識別できます...正確には何ですか?

WebViewは HTML5 ビデオを単独で再生できないことを知っているので、それらをWebChromeClientに渡します:クリップを表す画像の中央にあるおなじみの右向きの矢印に触れると、Android は自動的に別のアクティビティに切り替わり、 WebView 内で再生する代わりに、ビデオを再生します。

ここで、まったく同じ方法でビデオの再生を開始したいと思いますが、ユーザーが右向きの矢印を「クリック」することなく、アプリ内から再生します。

src=そのURL ( http://v19.lscache2.c.youtube.com/videoplayback?begin.. .) を WebView に渡すだけで、右向きの矢印WebChromeClient.onShowCustomView()をクリックしたときと同じようにトリガーされると思いました。 、しかし... 私がそれをしても、実際には何も起こりません。

だから、私は疑問に思っています:その右向きの矢印をクリックするとWebView、実際には何が起こるのでしょうか?WebChromeClient

その右向きの矢印を「クリック」するにはどうすればよいですか?

更新: @dronus からのコメントのおかげで、LogCat で以下を見つけました (再生ボタンを手動でクリックした後):

05-03 19:35:07.296: INFO/StagefrightPlayer(121):
setDataSource('http://v19.lscache2.c.youtube.com/videoplayback?begin=0
&itag=18
&ipbits=0
&signature=BB85C25344502EF07EC970250EFBF6661098373E.6A7E108FA6F48A0741CDF7A356B0E1474F185195
&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cratebypass%2Coc%3AU0hPSVRTVl9FSkNOOV9MTVpJ
&sver=3
&ratebypass=yes
&expire=1304488800
&len=265000
&key=yt1
&ip=0.0.0.0
&id=55884c15b4baba8f
&el=watch
&yms=5602637908081220405
&app=youtube_mobile')

疑問が残ります:何がこれを引き起こしますか?

4

1 に答える 1

1

指定された URL と他のすべての属性でビデオを表示するためにインテントが起動されると思います。

インテントのエクストラとしてリストされているいくつかの属性を使用して、このようなインテントを起動しようとしましたか?

Intent tostart = new Intent(Intent.ACTION_VIEW);
tostart.setDataAndType(Uri.parse(movieurl), "video/*");
startActivity(tostart);
于 2011-07-10T07:55:50.713 に答える