2014年5月4日 星期日

透過 samba 讓 android 裝置存取其他 android 系統的檔案 (不需要 root)

iphone 有 air play 可以將手機畫面鏡像投影到 appile tv 上
android 最近出了 miracast 也可以讓 android 手機鏡像投影到另外的 android 裝置
如果家裡有智慧電視或電視盒的人可以方便的將手機裡的多媒體檔案放到大螢幕上欣賞

但是 miracast 是最近才出來的產品, 如果電視盒或是手機有一方不支援, 就不能使用
若是要為了這個功能要去買新的產品又覺得不太划算

其實, 如果只是想要在電視上看手機上的影片, 圖片, 不需要 miracast, 也不需要 DLNA
(DLNA 是個雞肋的功能, 放影片不能載入額外字幕檔)
 只需要裝以下幾個 APP 就夠了

ES 檔案瀏覽器
MX player
BS player
samba server

samba server 可以讓 android 手機用跟 windows 網路芳鄰一樣的方式分享檔案
裝完後啟動設定一下 server, 記得 samba server 強制要求一定要設定 name directory



之後可以用 info tab 來看本機 ip 位址



如果想瀏覽檔案的話, 打開 ES 檔案瀏覽器, 進入局域網選新建
然後加入伺服器位址


假如手機有 root 的話, 
服務器位址那邊填入手機 ip + name directory
ex: 192.168.1.101/sdcard
就可以瀏覽手機內檔案, 想要放照片或影片都沒有問題

 如果手機沒有 root 的話, 需要在 url 上多加 port number
samba protocol 預設是使用 445 port,
但是因為安全性的關係 android 不讓 app 使用這個 port
所以沒 root 的手機會看到 samba server 使用的是 7777 port
所有必須使用以下的 url 形式
192.168.1.101:7777/sdcard

沒有 root 的手機用 ES 檔案瀏覽器可以播放照片沒有問題
但是播放影音檔時就不行了, 猜測是 ES 瀏覽器的 bug

不過 bs player 有支援瀏覽區網, 所以可以用 bs player 連進手機
在 bs player 的瀏覽區網模式用以下 url
 192.168.1.101:7777/sdcard
就可以瀏覽手機內的檔案並撥放

要用 mx player 的話

可以利用 ES 瀏覽器的 http streaming server
首先不要退出 ES 瀏覽器, 讓 ES保持連進手機的狀態
然後打開網路瀏覽器, 在網址列輸入下列 url

http://127.0.0.1:59777/smb/手機ip@手機ip:7777/name directory/file path

ex:
http://127.0.0.1:59777/smb/192.168.1.101@192.168.1.101:7777/sdcard/xxx/yyy.mkv

此時會跳出提示選擇 app 來播放影片, 再選 mx player 就可以了

沒有留言:

張貼留言