android.media.session.MediaController#getMetadata ( )源码实例Demo

下面列出了android.media.session.MediaController#getMetadata ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: AcDisplay   文件: MediaController2Lollipop.java
@Override
public void run(@NonNull MediaController2 mc) {
    final MediaController2Lollipop mcl = (MediaController2Lollipop) mc;
    final MediaController source = mcl.mMediaController;

    if (source != null && mToken.equals(source.getSessionToken())) {
        long now = SystemClock.elapsedRealtime();

        final MediaMetadata metadata = source.getMetadata();
        final PlaybackState playbackState = source.getPlaybackState();

        long delta = SystemClock.elapsedRealtime() - now;
        Log.i(TAG, "Got the new metadata & playback state in " + delta + " millis. "
                + "The media controller is " + source.getPackageName());

        mHandler.post(new Runnable() {
            @Override
            public void run() {
                mcl.updateMetadata(metadata);
                mcl.updatePlaybackState(playbackState);
            }
        });
    }
}
 
源代码2 项目: PodEmu   文件: MainActivity.java
private void updateAppInfo()
{
    PackageManager pm = getPackageManager();
    ApplicationInfo appInfo;
    String appName = "unknown";
    MediaController mediaController = MediaPlayback.getActiveMediaController();
    Bitmap trackIcon = null;

    if(mediaController != null && mediaController.getMetadata()!=null)
    {
        trackIcon = mediaController.getMetadata().getBitmap(MediaMetadata.METADATA_KEY_ART);
        if (trackIcon == null)
            trackIcon = mediaController.getMetadata().getBitmap(MediaMetadata.METADATA_KEY_ALBUM_ART);
        if (trackIcon == null)
            trackIcon = mediaController.getMetadata().getBitmap(MediaMetadata.METADATA_KEY_DISPLAY_ICON);
    }
    else
    {
        PodEmuLog.debug("MA: cannot load icon because mediaController is not initialized");
    }

    if(currentlyPlaying==null) return;
    appName = currentlyPlaying.getApplication();

    PodEmuLog.debug("MA: setting AppInfo to " + appName);


    try
    {
        appInfo = pm.getApplicationInfo(appName, PackageManager.GET_META_DATA);
        ctrlAppStatusTitle.setText("App: " + appInfo.loadLabel(pm));
        ctrlAppStatusTitle.setTextColor(Color.rgb(0xff, 0xff, 0xff));

        if(trackIcon != null)
            setAppLogo(new BitmapDrawable(getResources(), trackIcon) );
        else
            setAppLogo(appInfo.loadIcon(pm));

    }
    catch (PackageManager.NameNotFoundException e)
    {
        ctrlAppStatusTitle.setText("Unknown app");
        ctrlAppStatusTitle.setTextColor(Color.rgb(0xff, 0x00, 0x00));

        setAppLogo(getDrawable(R.drawable.questionmark));
    }

}
 
 同类方法