【发布时间】:2011-12-12 06:17:05
【问题描述】:
我需要让我的应用程序播放位于我网络上的视频文件。我知道文件的网址是:
http://something.local/abc.mp4
现在,当我手动将“something.local”替换为其真实 IP 地址时,MediaPlayer 播放它没有问题。尽管如此,当我有上面的地址时,MediaPlayer 与error (1, -1007) 错误。
所以我假设这是因为 Android 不理解“something.local”是正确的。
我的问题是:我如何自己“翻译”something.local 到一个 ip,然后我可以将它传递给MediaPlayer?
一个小警告:我认为MediaPlayer 不适用于 IPv6 地址,所以请记住这一点...
只是一个旁注,以防它使我的情况更清楚:当我在 Windows 命令提示符下运行 ping something.local -4 时,它返回:
Pinging something.local [192.168.1.126] with 32 bytes of data:
Reply from 192.168.1.126: bytes=32 time=145ms TTL=64
Reply from 192.168.1.126: bytes=32 time=112ms TTL=64
Reply from 192.168.1.126: bytes=32 time=32ms TTL=64
Reply from 192.168.1.126: bytes=32 time=169ms TTL=64
windows 从something.local -> 192.168.1.126 转到的那个翻译是我想在我的 Android 应用程序中做的。
【问题讨论】:
-
@Jens 我似乎在 jmdns 中找不到任何允许解析域的内容。你能指出我应该去哪里看吗?
-
嗯,Bonjour 不只是 Apple 的 zeroconf 语言吗?在这种情况下,我会查看DiscoveryActivity。如果不是 - 那么我的错:-D