Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 色度学元数据_Android_Chromecast_Google Cast Sdk - Fatal编程技术网

Android 色度学元数据

Android 色度学元数据,android,chromecast,google-cast-sdk,Android,Chromecast,Google Cast Sdk,在Chromecast上使用自定义接收器的音乐应用程序中,尝试获取所需的元数据、锁屏和播放弹出行为都很有趣。这是我要做的 private void _dummyRemotePlay(long id,String mUrl,String artist,String title,String iUrl) { // CODE THAT CHANGES BEHAVIOUR MediaTrack.Builder b = new MediaTrack.Builder(id,MediaTra

在Chromecast上使用自定义接收器的音乐应用程序中,尝试获取所需的元数据、锁屏和播放弹出行为都很有趣。这是我要做的

private void _dummyRemotePlay(long id,String mUrl,String artist,String title,String iUrl) {

    // CODE THAT CHANGES BEHAVIOUR
    MediaTrack.Builder b = new MediaTrack.Builder(id,MediaTrack.TYPE_AUDIO);
    b.setSubtype(MediaTrack.SUBTYPE_METADATA);
    // END CODE THAT CHANGES BEHAVIOUR

    MediaMetadata mdata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);  
    mdata.putString(MediaMetadata.KEY_ARTIST, artist);
    mdata.putString(MediaMetadata.KEY_TITLE, title);
    mdata.addImage(new WebImage(Uri.parse(iUrl)));

    MediaInfo mi =  new MediaInfo.Builder(mUrl)
                .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
                .setContentType("audio/mpeg")
                .setMetadata(mdata)
                .build();

    MediaQueueItem qi = new 
    MediaQueueItem.Builder(mi).setAutoplay(true).setPreloadTime(20).build();
    MediaQueueItem[] qa = new MediaQueueItem[]{qi,qi}; // Two so SKIP_NEXT works...

    _remoteMediaClient.queueLoad(qa,0,MediaStatus.REPEAT_MODE_REPEAT_OFF, null);}
如果不调用
b.setSubType(MediaTrack.SUBTYPE\u METADATA)
强制转换弹出窗口(图像、控件等)将显示强制转换通知,并通过音量键调整强制转换音量。不起作用的是锁屏元数据和控件。艺术家未知,控件不起任何作用

使用
b.setSubType
调用锁屏工作正常(艺术家正确显示,控制工作)。但是,没有播放通知,并且播放弹出窗口没有选择媒体(没有图像,没有控件,只有音量滑块和结束播放)。此外,音量键未绑定到强制转换音量

到了这一点,我只是随便玩玩。最初称为
b.build()
以创建
MediaTrack
,将其添加到列表中,并在
MediaInfo.builder
上称为
.setMediaTracks(list)
。不过,我还是把它浓缩到了上面。仅对未构建MediaTrack的构建器调用
b.setSubType
就足以切换行为


我要找的是正确的锁屏行为,正确的演员对话图像和控制,音量键工作。我对cast通知漠不关心,因为应用程序无论如何都有一个cast通知。似乎我无法实现所有这些。

您是否尝试过将此作为解决方案?谢谢,但这里的工作不仅仅是控制演员数量。一般来说,我真的不想开始与框架抗争。我只是想知道如何正确使用它,并实现正确的演员阵容和锁屏功能。