4

我设法在 Android 上使用 TextureView 和 MediaPlayer 播放视频。我是这样做的:我用 SurfaceTexture 创建了一个 Surface:

    public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int w, int h)
{
    mSurface = new Surface(surfaceTexture);
    ...
    ...
}

将 Surface 附加到 MediaPlayer:

    try
{
    mMediaPlayer.setDataSource(mPlayUrl);
    mMediaPlayer.setSurface(mSurface);
    ...
    ...
}

没关系,但对我来说还不够。我希望 TextureView 是圆角的,看起来像一个气泡(有一个角度),看下图: 我期望的效果

我发现一篇文章(Android 上的圆角视频)非常有帮助,但是作者选择了 GLSurfaceView 并且只实现了圆角。我相信TextureView也适合​​实现我的效果,SurfaceTexure处理是关键。但是我对opengl不熟悉,谁能给我一些建议?

4

2 回答 2

1

我知道这是迟到的答复,但如果有人仍然难以找到示例下面的解决方案可能会有所帮助。 https://github.com/developer-anees/android-round-camera2video-preview

试试这个样本。它以圆形显示相机预览。基本上它使用 FrameLayout 作为父级以圆形显示 Textureview。

于 2019-10-03T12:33:55.987 回答
-1

鉴于您的背景是纯色,您可以使用蒙版轻松实现此效果。如果你有任何背景,它不会工作。

于 2016-04-19T18:54:20.030 回答