【问题标题】:YouTubePlayerView is losing brightnessYouTubePlayerView 正在失去亮度
【发布时间】:2019-08-13 21:34:13
【问题描述】:

我在带有Theme Dialog 和NoTitle 的活动中使用com.google.android.youtube.player.YouTubePlayerView。我的问题是YoutubePlayerView 在常规尺寸视图中失去亮度,但在全屏模式下工作正常。如何解决此亮度问题?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@color/transparent"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <com.google.android.youtube.player.YouTubePlayerView
            android:id="@+id/youtube_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:elevation="99dp"
        />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:background="#ffffff"
            android:orientation="horizontal">
            <ImageButton
                android:id="@+id/BackVideoBtn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="10dp"
                android:src="@drawable/media_left_nav"
                android:background="@color/transparent" />
            <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:padding="10dp">
                <TextView
                    android:id="@+id/VideoLabel"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="20sp"
                    android:text="1/2"
                    android:textColor="#555555" />
            </RelativeLayout>
            <ImageButton
                android:id="@+id/NextVideoBtn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="10dp"
                android:src="@drawable/media_right_nav"
                android:background="@color/transparent" />
        </LinearLayout>
    </LinearLayout>
</RelativeLayout>

[Activity(Theme = "@android:style/Theme.Dialog", NoHistory = true, ExcludeFromRecents = true)]
    public class YoutTubeActitivy : YouTubeFailureRecoveryActivity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            RequestWindowFeature(WindowFeatures.NoTitle);
            SetContentView(Resource.Layout.YouTubePlayer);

图片:

Video not started

Playing video

[已解决] 该问题是由使用 Dialog 触发的。更改为 Theme.Transparent 并且它工作正常。

【问题讨论】:

  • 这可能会对您有所帮助。 stackoverflow.com/questions/37903786/…
  • @JaswantSingh 视频正在正常播放,没有停止,也没有“变暗”。我已经上传了截图。视频播放时会出现一些阴影并消除原始亮度。
  • @Wagner,你看到我的代码了吗?全屏时我没有发现任何阴影。

标签: android xamarin android-youtube-api


【解决方案1】:

我在我身边使用 com.google.android.youtube.player.YouTubePlayerView,但我发现全屏时亮度相同。这是关于YouTuBePlayerView的代码。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.google.android.youtube.player.YouTubePlayerView
    android:id="@+id/youtube_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
</LinearLayout>

public class MainActivity : YouTubeBaseActivity, IYouTubePlayerOnInitializedListener
{
    private int RECOVERY_DIALOG_REQUEST = 1;

    public void OnInitializationFailure(IYouTubePlayerProvider provider, YouTubeInitializationResult errorReason)
    {
        if (errorReason.IsUserRecoverableError)
        {
            errorReason.GetErrorDialog(this, RECOVERY_DIALOG_REQUEST).Show();
        }
        else
        {
            String errorMessage = String.Format(
                    GetString(Resource.String.ErrorMessage), errorReason.ToString());
            Toast.MakeText(this, errorMessage, ToastLength.Long).Show();
        }
    }
    public void OnInitializationSuccess(IYouTubePlayerProvider p0, IYouTubePlayer yPlayer, bool p2)
    {

        yPlayer.LoadVideo(DevConstants.VIDEO_ID);
    }

    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        // Set our view from the "main" layout resource
        SetContentView(Resource.Layout.activity_main);
        YouTubePlayerView youTubeView = FindViewById<YouTubePlayerView>(Resource.Id.youtube_view);
        youTubeView.Initialize(DevConstants.DEVELOPER_KEY, this);
    }
}

 public static class DevConstants
{
    public static string DEVELOPER_KEY = "YOUR DEVELOPER KEY";
    public static string VIDEO_ID = "_OBlgSz8sSM";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    相关资源
    最近更新 更多