【发布时间】:2015-07-02 10:59:00
【问题描述】:
因此,我尝试从 android 电视上的 url 播放 mp3,每当我尝试创建媒体对象时,都会在调试器中引发未知错误,并带有以下足迹。
{statusCode=unknown status code: 2001, resolution=null}
这是我目前尝试创建 MediaInfo 对象的方式:
MediaMetadata mediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);
mediaMetadata.putString(MediaMetadata.KEY_TITLE, songName);
MediaInfo mediaInfo = new MediaInfo.Builder(songUrl)
.setContentType("audio/mpeg")
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mediaMetadata)
.build();
songUrl 指向存储在外部服务器上的 mp3。
这就是我创建 MediaPlayer 对象的方式:
try {
mRemoteMediaPlayer.load(mApiClient, mediaInfo, true)
.setResultCallback(new ResultCallback<RemoteMediaPlayer.MediaChannelResult>() {
@Override
public void onResult(RemoteMediaPlayer.MediaChannelResult mediaChannelResult) {
if (mediaChannelResult.getStatus().isSuccess()) {
Log.d("done loading song", "");
mSongIsLoaded = true;
} else {
Log.d("", "failed to load");
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
有什么想法吗?
【问题讨论】:
-
请发布完整的堆栈跟踪以及错误发生的位置
-
没有抛出异常。我必须在调试器中查看 mediaChannelResult 的值,该值存储在状态字段中。
-
如果你调试这段代码,它会到达 catch Exception 块吗?如果是这样,我需要看看 e.printStackTrace() 说了什么。
-
它没有到达 catch 块。
-
错误2001表示请求无效;您构建 MediaInfo 的方式没有什么特别的问题,这很好(只要您填充的字段的值都是有效值。加载命令本身也很好,因此您需要确保 mApiClient有效且媒体渠道已建立等
标签: android google-cast