![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2001
Адрес: Россия, Москва
Сообщений: 67
|
Приветствую.
Ситуация: movie.swf находится на шаре: \\server_name\share_name\dir_name\ Там же - папка data в которой 1.mp4 Открываю в браузере index.html, который лежит на шаре рядом movie.swf. В него и встроен объект с movie.swf. Если предать в play() NetStream'а прямой урл типа file:////server_name/share_name/dir_name/data/1.mp4 - всё ОК! Если же передать относительный "data/1.mp4" - то откроется только под Chrome. MSIE и Firefox что-то передают так, что в NetStrem получается StremNotFound. Если я примонтирую шару как сетевой диск, то URL будет формировать уже по-другому и всё нормально будет в случае относительного URL Но мне ОЧЕНЬ нужно именно напрямую с шарой. Как быть? Эта ситуация характерна только для NetStream. URLLoader нормально подгружает xml-ники и звуки независимо от того, как был осуществлен доступ к html-файлу movie.html Сталкивался кто-то? Абсолютный путь использовать не могу. Передавать из javascript location.href в movie.swf и его обрабатывать тоже не могу. ExternalInterface будет не доступен, поскольку песочница SWF-ки - "local-width-filesystem" |
|
|||||
|
Регистрация: Sep 2001
Адрес: Россия, Москва
Сообщений: 67
|
Насчет кода - согласен, но мне сперва нужно вычистить оттуда незначительные фрагменты, прежде чем вываливать на форум
А насчет логов - что имеется ввиду? Какие логи соединения? Максимум смотрю трафик SMB снифером |
|
|||||
|
Регистрация: Sep 2001
Адрес: Россия, Москва
Сообщений: 67
|
Собственно, ниже представлен вычищенный от лишнего кусок кода, на котором проблема видна.
Итак, на \\server_name\share_name в папку test кладу: Цитата:
Если использовать относительный, то: FireFox: Ввожу в адресную строку браузера: \\server_name\share_name\test\index.html Браузер преобразует в file://///server_name//share_name/test/index.html Всё, StreamNotFound MSIE9: Ввожу в адресную строку браузера: \\server_name\share_name\test\index.html Браузер не преобразует, остаётся так. Опять-таки, StreamNotFound Chrome28 Ввожу в адресную строку браузера: \\server_name\share_name\test\index.html Браузер преобразует в file://server_name/share_name/test/index.html РАБОТАЕТ Наконец, монтирую шару как диск FireFox: Ввожу в адресную строку браузера: z:\test\index.html Браузер преобразует в file:///z:/test/index.html РАБОТАЕТ MSIE9: Ввожу в адресную строку браузера: z:\test\index.html Браузер не преобразует, остаётся так. РАБОТАЕТ Вывод - NetConnection или NetStream не могу переварить URL, которые формируюся в ошибочных случаях По снифферу видно, что в этих случаях ДАЖЕ ОБРАЩЕНИЯ НЕТ Я не смотрел события ошибок NetConnection - сейчас буду... Мне не удалось найти свойство в NetStream, которое показывает конечный URL Код: package { import flash.display.*; import flash.media.Video; import flash.net.NetConnection; import flash.net.NetStream; import flash.events.NetStatusEvent; public class Main extends Sprite { ////////////////////////////////////////// public function Main() { var videoScreen:Video = new Video(); addChild(videoScreen); var nc:NetConnection = new NetConnection(); nc.connect(null); var ns:NetStream = new NetStream(nc); ns.client = this; ns.addEventListener(NetStatusEvent.NET_STATUS, onNSStatus); videoScreen.attachNetStream(ns); // абсолютный URL //var videoFileName:String = 'file:////server_name/share_name/test/data/001.mp4'; // относительный URL var videoFileName:String = 'data/001.mp4'; ns.play(videoFileName); } ////////////////////////////////////////// private function onNSStatus(e: NetStatusEvent) { log.appendText(e.info.code + "\n"); } public function onMetaData(metaData:Object) { } } } Хм! Пришла мысль - собирать абсолютный URL самостоятельно, корректируя, опираясь на this.loaderInfo.loaderURL Последний раз редактировалось bookworm; 26.07.2013 в 18:48. |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:13. |
|
|
« Предыдущая тема | Следующая тема » |
|
|