【问题标题】:I want to change My mediaplayer from one surafceview to other surafceview how to do that in android?我想将我的媒体播放器从一个 surafceview 更改为另一个 surafceview 如何在 android 中做到这一点?
【发布时间】:2013-08-26 04:02:44
【问题描述】:

您好,我的应用程序中有一个自定义媒体播放器,它具有全屏属性,因此我使用两种不同的全屏和普通布局, 当使用点击全屏时,媒体播放器必须将其表面从一个更改为另一个, 我怎样才能在android中实现这一点? 感谢您的回答,任何帮助将不胜感激。

【问题讨论】:

    标签: android custom-controls media-player fullscreen surfaceview


    【解决方案1】:

    您是否尝试过使用获取表面视图

    SurfaceView sv = (SurfaceView) findViewById(R.id.customSurfaceViewID);
    

    然后搞砸以获得全屏模式:

    sv.setScaleX();
    sv.setScaleY();
    

    在您的 GLRender 中:

    @Override /*landscape to portrait help*/
    public void onSurfaceChanged(GL10 gl, int width, int height) {
        gl.glViewport(0, 0, width, height);
        float ratio = (float) width/height;
        gl.glMatrixMode(GL10.GL_PROJECTION);
        gl.glLoadIdentity();
        gl.glFrustumf(-ratio, ratio, -1, 1, 1, 50);
    }
    

    【讨论】:

    • 我想使用两个不同的布局,所以我有两个不同的 surafceviews?
    • hmmm...我不明白问题所在,也不明白您为什么要尝试使用两种不同的表面视图。也许不是解释你到底想要做什么;从用户的角度准确解释您期望发生的事情。并解释“我的应用程序具有全屏属性”是什么意思。你已经做了这个?
    • 我的应用程序在纵向模式下工作,纵向视图与横向完全不同,所有控件都会改变它们的位置,所以我想使用不同的布局和新的表面视图。
    • 所以我猜你的媒体播放器控件在表面视图上?当你点击“全屏模式”时,你想让surfaceview变成横向并占据整个屏幕?
    • 当用户点击全屏时,我有单独的自定义控件,控件将更改其参数。并且在全屏模式下添加了一些新视图,因此我想使用不同的布局。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多