UIWebview中的HTML 5视频方向横向

时间:2010-08-23 23:42:21

标签: iphone video uiwebview orientation landscape

我有一个iPhone应用程序,每个视图都是纵向的。我有一个带有一些HTML的UIWebview。是的,有一个html5标记的视频。当我播放该视频时,它仅以纵向播放。为了使它在横向上工作,我必须在viewcontroller中为shouldAutorotateToInterfaceOrientation返回YES,但我不希望viewcontroller旋转到横向。我只希望视频支持横向。

有可能吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

我有同样的问题,有趣的是,如果你使用嵌入式标签而不是视频标签它可以工作,但你没有得到漂亮的图像!

<embed src='yourmovie.mp4' width='280px'></embed>

答案 1 :(得分:1)

如果您有javascript可用于您或其他一些脚本引擎,您是否尝试过为video元素和embed元素提供id属性并使用javascript访问DOM以调整属性?

<body>
<video id="myvideo" width="240" height="320" src="a.vp8">
    <embed id="myvideoe" width="240" height="320" src="a.vp8">
</video>
<script type="text/javascript">
if (window.screen.width < window.screen.height) {
    //portrait
    document.getElementById('myvideo').setAttribute('width', 240);
    document.getElementById('myvideo').setAttribute('height', 320);
    document.getElementById('myvideoe').setAttribute('width', 240);
    document.getElementById('myvideoe').setAttribute('height', 320);
} else {
    //landscape
    document.getElementById('myvideo').setAttribute('width', 320);
    document.getElementById('myvideo').setAttribute('height', 240);
    document.getElementById('myvideoe').setAttribute('width', 320);
    document.getElementById('myvideoe').setAttribute('height', 240);
}
//or simply do this if you have differing size target screens:
//you can always subtract out the space for the controls.
document.getElementById('myvideo').setAttribute('width', window.screen.width);
document.getElementById('myvideo').setAttribute('height', window.screen.height);
document.getElementById('myvideoe').setAttribute('width', window.screen.width);
document.getElementById('myvideoe').setAttribute('height', window.screen.height);
</script>
</body>

如果您正在谈论将src更改为完全不同的横向或纵向视频,那也是可能的。我认为这可能只适用于提供javascript的PhoneGap。