锁定屏幕上的Android MediaMetadata图像已缩放

时间:2015-04-09 15:59:35

标签: android image resize media lockscreen

播放媒体时,我可以通过

将媒体图像放到锁屏上
RemoteControlClient.MetadataEditor editor = remoteControlClient.editMetadata(true);
editor.putBitmap(RemoteControlClient.MetadataEditor.BITMAP_KEY_ARTWORK, bitmap);

MediaMetadataCompat.Builder builder = new MediaMetadataCompat.Builder();
builder.putBitmap(MediaMetadataCompat.METADATA_KEY_ART, bitmap);

但是,如果我使用横向源图像(16:9)并且锁屏方向是potrait,则背景图像将被缩放(平移和扫描)而不是字母框。有没有我可以用来强制缩放方法的api,或者系统只会这样渲染图像?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题(在手机锁屏和Android Auto上),我还没有找到解决方案,但我认为你可以做一个技巧:

在Bitmap的顶部和上方添加一个透明填充以适应锁定屏幕,这里是使您的位图正方形的代码,您可以从中激发它使您的位图适合屏幕比例:

public static Bitmap createSquaredBitmap(Bitmap srcBmp) {               

    int dim = Math.max(srcBmp.getWidth(), srcBmp.getHeight());
    Bitmap dstBmp = Bitmap.createBitmap(dim, dim, Bitmap.Config.ARGB_8888);

    Canvas canvas = new Canvas(dstBmp);
    canvas.drawColor(Color.TRANSPARENT);
    canvas.drawBitmap(srcBmp, (dim - srcBmp.getWidth()) / 2, (dim - srcBmp.getHeight()) / 2, null);

    return dstBmp;
}