Я не могу воспроизвести вашу ошибку на моем устройстве iOS с помощью плагина PhoneGap, все работает так, как должно быть.
Вот мой код Javascript (в CoffeeScript):
session = ""
publisher = ""
subscribeToStreams = (streams)->
for e in streams
if (e.connection.connectionId == session.connection.connectionId)
return
div = document.createElement('div')
div.setAttribute('id', 'stream' + e.streamId)
div.setAttribute('class', "streamElement")
document.body.appendChild(div)
session.subscribe(e, div.id, {width: 640, height:480})
window.OTGroupChat = (apiKey, sessionId, token) ->
publisher = TB.initPublisher(apiKey, "myPublisherDiv", {width: 320, height: 240})
session = TB.initSession(sessionId)
session.addEventListener 'sessionConnected', (event) ->
session.publish(publisher)
subscribeToStreams(event.streams)
session.addEventListener 'streamCreated', (event) ->
subscribeToStreams(event.streams)
session.connect(apiKey, token)
Результат: вид издатель показывает, как 320x240, как и ожидалось, и подписался потоки проявляется в разрешении 640х480, как указано.
Затем я изменил высоту абонированной STREAM, введя непосредственно в консоли:
$("object:last").height(100);
TB.updateViews();
Абонентская поток послушно изменен на его новую высоту.
Затем я тестировал, если фактический видеоконтент меньше ширины элемента объекта, установив цвет фона фона элемента на розовый. Розовый не показывал, поэтому фактическое видео OpenTok больше или равно размерному элементу объекта. Когда я дал элементу объекта розовую рамку размером 1, вокруг видеоролика будет 1px розовая контур, показывающая, что элемент объекта, безусловно, того же размера, что и видео.
Если я неправильно понял вас, и вы имели в виду черные полосы по обе стороны видео, я боюсь, что это способ OpenTok сохранить пропорции, а пользователи, пытающиеся передать портретный вид со своего устройства iOS, будут часто встречаться назад баров вокруг их видео.