可以投射或流式传输(Android-Chromecast)本地文件吗?
Posted
技术标签:
【中文标题】可以投射或流式传输(Android-Chromecast)本地文件吗?【英文标题】:It is posible to cast or stream (Android-Chromecast) a local File? 【发布时间】:2015-11-10 01:24:08 【问题描述】:我正在开发一个小音乐播放器,我正在尝试将当前歌曲投射到 Chromecast。我的应用程序基于文件夹,因此我将 mp3 或 flac 文件作为歌曲进行管理。
我正在关注this Google Developers 教程,并且我已经使用 Media Chanel 编写了我的 android Sender。如果我这样做,上传到 Dropbox 的歌曲会在我的电视上成功播放。
MediaMetadata mediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);
MediaInfo mediaInfo = new MediaInfo.Builder(
"https://dl.dropboxusercontent.com/u/56292608/MySong.mp3")
.setContentType("audio/mp3")
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mediaMetadata)
.build()
mRemoteMediaPlayer.load(mApiClient, mediaInfo, true)
有什么方法可以转换或流式传输文件以设置 URL?
我尝试:
Uri.fromFile(myFile).toString()
但我无法发送文件。有什么方法可以从本地文件路径构建 MediaInfo 对象引用?如果没有,是否有任何简单的方法可以从本地路径创建流并将此流发送到 Chromecast?
在其他情况下,用另一种方法直接从设备传输多媒体声音会更好吗?
谢谢大家
【问题讨论】:
关于如何做到这一点的任何更新? 【参考方案1】:这是可能的。我遇到的大多数方式涉及:
-
在 Android 设备上创建准系统 HTTP Web 服务器。
使用网络服务器将 Chromecast 直接从您的手机流式传输。
然后,Web 服务器将文件流式传输到 Chromecast。
【讨论】:
嗨克诺索斯。真的需要所有这些工作来简单地思考吗?是否有任何示例或教程可以逐步尝试此操作? 即,如果用户点击“下一步”按钮,我应该将歌曲上传到我自己的服务器,然后将此服务器连接到 chromecast,然后提供歌曲??这有点疯狂,不是吗? 全部在本地完成。基本上,您在 Android 设备上使用 NanoHTTP 之类的东西启动服务器。您的 Android 设备上的视频位于 /sdcard/ 或类似位置。您告诉 Chromecast 连接到 your.android.internal.ip/name.of.video.mp4。您的 Android 设备 HTTP 服务器打开视频文件并将其发送到 Chromecast。 Chromecast 都知道,它正在播放来自 Internet 服务器的文件。但是,它只是您的本地 Android 设备。以上是关于可以投射或流式传输(Android-Chromecast)本地文件吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 .MP4 文件等本地文件流式传输到 Chrome Cast?
是否可以通过 RTMP 或 RTP 流式传输到 Twilio 视频 API