所以我试图在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();
}
有什么想法吗?
答案 0 :(得分:1)
以下是所有相关状态代码的列表: https://developers.google.com/android/reference/com/google/android/gms/cast/CastStatusCodes
答案 1 :(得分:0)
如果出现同样的问题,那么演员应用程序还没有启动。我在加载媒体之前放了这段代码。
try {
Cast.CastApi.launchApplication(mApiClient, Id, false)
.setResultCallback(new ResultCallback<Cast.ApplicationConnectionResult>() {
@Override
public void onResult(Cast.ApplicationConnectionResult applicationConnectionResult) {
Status status = applicationConnectionResult.getStatus();
if( status.isSuccess() ) {
load(media);
}else{
Log.v(TAG, ""+applicationConnectionResult.getStatus().getStatusCode());
}
}
});
} catch( Exception e ) {
Log.v(TAG, "failed:"+e.getMessage());
}
load(media)方法与原始问题中的代码相同