我很难使用cast-android-sample让mpeg-dash样本正常播放。
通过向MediaAdapter:addVideos() method添加短划线样本可以轻松复制。以下是3个众所周知的MPEG-DASH样本,我们过去常常尝试使其工作:
mVideos.add(new CastMedia("Car MPEG-DASH Video", "http://yt-dash-mse-test.commondatastorage.googleapis.com/car-20120827-manifest.mpd"));
mVideos.add(new CastMedia("Simple MPEG-DASH Video", "http://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mpeg2-simple/mpeg2-simple-mpd.mpd"));
mVideos.add(new CastMedia("MPEG-DASH Sample", "http://www.digitalprimates.net/dash/streams/gpac/mp4-main-multi-mpd-AV-NBS.mpd"));
尝试播放这些会在logcat中生成此表单的错误:
18147-18147/com.example.castsample E/MediaProtocolMessageStream: error parsing message: {"type":"RESPONSE","cmd_id":24,"status":{"error":{"domain":"ramp","code":-2},"event_sequence":6499}} org.json.JSONException: No value for state
请注意,演示中列出的mp4确实有效 - 所以我知道我的cast-android-sample代码一般都在工作。此外,我已经尝试托管文件 - 通过监视访问日志,我知道mpd已被获取,并且mpd引用的媒体永远不会被设备访问。
是否需要采取其他措施才能从Chromecast播放MPEG-DASH媒体?有人能从这个代码库中提供一个工作示例吗?