HTML 5 видео в UIWebview Ориентация ландшафта - PullRequest
7 голосов
/ 24 августа 2010

У меня есть приложение для iPhone, где каждый вид в портретной ориентации.У меня есть UIWebview с некоторым HTML в нем.Среди всего этого есть видео с тегом html5.Когда я играю это видео, оно воспроизводится только в портретной ориентации.Чтобы заставить его работать в ландшафте, я должен вернуть YES для shouldAutorotateToInterfaceOrientation в viewcontroller, но я не хочу, чтобы viewcontroller поворачивался в альбомную.Я только хочу, чтобы видео поддерживало альбомную ориентацию.

Это возможно?

Спасибо!

Ответы [ 2 ]

1 голос
/ 18 апреля 2011

если у вас есть javascript, доступный для вас или другого скриптового движка, пытались ли вы присвоить элементу video и embed element атрибут id и получить доступ к DOM, используя javascript для настройки атрибутов?

<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 на совершенно другое видео, которое является альбомным или портретным, это тоже возможно. Я думаю, что это может быть возможно только с PhoneGap, который предоставляет JavaScript.

1 голос
/ 10 марта 2011

У меня та же проблема, интересно, что если вы используете теги вставки вместо тегов видео, это работает, но вы не получите красивое изображение!

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