gpt4 book ai didi

Android 流媒体视频 - 需要纵横比

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:30:11 25 4
gpt4 key购买 nike

我正在为视频使用 Android MediaPlayer 演示。我有 640x480 的流媒体视频。我只是希望视频在保持宽高比的同时尽可能大(无论设备方向如何)。我无法做到这一点。它只是横跨整个屏幕。我在布局中的 SurfaceView 在“fill_parent”或“wrap_content”中都没有保持纵横比。当我检查(并更改代码中的表面尺寸时,它似乎忽略了任何更改。奇怪的是我在这段代码中被告知我的视频尺寸是:176 x 144。

public void onVideoSizeChanged(MediaPlayer mp, int width, int height) 
{
Log.v(TAG, "onVideoSizeChanged called");
Log.v(TAG, "Surface Width: " + width + " Surface Height: " + height);
if (width == 0 || height == 0) {
Log.e(TAG, "invalid video width(" + width + ") or height(" + height + ")");
return;
}
mIsVideoSizeKnown = true;
mVideoWidth = width;
mVideoHeight = height;

mVideoWidth = mp.getVideoWidth();
mVideoHeight = mp.getVideoHeight();
Log.v(TAG, "Surface Width: " + mVideoWidth + " Surface Height: " + mVideoHeight);
if (mIsVideoReadyToBePlayed && mIsVideoSizeKnown) {
startVideoPlayback();
}
}

这是我尝试更改大小的地方:

private void startVideoPlayback() {
Log.v(TAG, "startVideoPlayback");
holder.setFixedSize(mVideoWidth, mVideoHeight);
mMediaPlayer.start();
}

想法?

最佳答案

尝试在 OnPrepared() 中使用 setLayoutParams()

public void onPrepared(MediaPlayer mp) {
...
mSurfaceView.setLayoutParams(new LinearLayout.LayoutParams(vWidth, vHeight));
...
};

关于Android 流媒体视频 - 需要纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6267869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com