Как транслировать видео по локальной сети в Android VideoView

Из-за офисных ограничений у меня есть локальная сеть без Интернета, и мне нужно транслировать видео в приложение для Android.

Я могу просмотреть видео в ES проводнике на устройстве через smb ок. Но как лучше всего заставить его воспроизводиться в моем приложении VideoView? используя «smb://192.168.x.x/Users/Public/..», поскольку URI не работает.

Спасибо.


person hqtay    schedule 03.07.2013    source источник
comment
Вы получили решение?   -  person Finder    schedule 20.01.2015


Ответы (2)


Мне удалось воспроизвести smb:// акций по сети в VideoView с помощью:

Я понимаю, что это кажется запутанным (и я согласен), но это единственный способ заставить его работать (и работать хорошо, с поиском и т. д.). Мне было бы интересно, если есть лучшие решения.

person Ken Wolf    schedule 03.07.2013
comment
@henry4343 опубликуйте новый вопрос с вашей конкретной проблемой, и, надеюсь, кто-то вам поможет. Я не могу ответить через комментарии. - person Ken Wolf; 04.01.2014
comment
Извините, я не могу отправить вопрос, потому что я получаю бан... Могу я написать вам письмо и описать мою проблему? Спасибо - person henry4343; 04.01.2014
comment
@henry4343 Нет! Удачи :) - person Ken Wolf; 04.01.2014
comment
Спасибо за ответ... Т_Т - person henry4343; 04.01.2014
comment
stackoverflow.com/questions/20929880/ Я уже отправил свой вопрос. Можете ли вы мне помочь... Спасибо - person henry4343; 06.01.2014
comment
Можете ли вы опубликовать, как вы транслируете общий ресурс smb на http? На самом деле у меня NanoHTTPD работает и транслирует локальные файлы на http, а JCifs перечисляет мои файлы, но я не могу найти способ потоковой передачи этих общих ресурсов через http. - person Ivan Verges; 16.10.2014
comment
@IvanVerges, к сожалению, я не могу опубликовать код, но вот что я сделал: я изменил NanoHTTPD.java, чтобы serveFile принял SmbFile. Затем вместо использования объекта File вы используете объект SmbFile — у вас есть доступ к потоку ввода через getInputStream(). Надеюсь, это немного поможет. - person Ken Wolf; 16.10.2014
comment
@Ken-Wolf: На самом деле я обрабатываю SmbObjects в пользовательском классе, который дает мне списки путей, InputStream для SmbObject и некоторые другие вещи. Также у меня есть класс FileServer, который наследуется от NanoHTTPD и переопределяет метод serve, здесь я беру Path, InputStream и MimeType и отвечаю на это. С локальными файлами работает почти нормально (потоки хорошие, но не ищет назад, а ищет вперед). Можете ли вы сказать мне, как изменить имя метода в NanoHTTPD, потому что я не могу понять. - person Ivan Verges; 16.10.2014
comment
@KenWolf Не могли бы вы сделать учебник по этому поводу? это было бы очень полезно. - person Karun Shrestha; 31.10.2019

Я обнаружил, что один (дешевый) способ - просто установить медиаплеер VLC и транслировать туда видео с ПК, следуя инструкциям пример потокового видео для Android.

Итак, в активности Android это выглядит примерно так:

myVideoView.setVideoURI(Uri.parse("rtsp://192.168.2.3:5544/"));

Сейчас работает в моем приложении, но задержка ужасная (5+ секунд), так что да, вопрос все еще открыт для лучших ответов, пока я буду экспериментировать с другими вещами.

person hqtay    schedule 18.07.2013