2013-08-07 2 views
0

YouTube 플레이어는 양식의 투명 패널 없이도 동영상을 재생하거나 전체 화면으로 재생할 수 있습니다. 투명 패널에는 일부 이미지에 특별한 것이 없습니다. 투명 패널을 꺼내면 YouTube 플레이어가 원하는대로 작동하여 앱에 포함됩니다. 투명 패널을 폼에 추가하면 전체 화면으로 재생되지 않습니다. 동영상이 시작되고 즉시 멈 춥니 다. 나는 그것이 투명 패널과 관련이 있다고 가정하지만 일어나는 일을 이해할 수는 없다. 어떤 도움이나 생각이라도 좋을 것입니다. 내 Java 파일은 initPopup을 제외하고는 변경되지 않습니다. 아래의 단축 된 Java 파일 버전. 다음은YouTube 플레이어가 투명 패널 메뉴로 작동하지 않습니다. Android

XML 레이아웃 파일 : 아래

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/mlayout" 
android:layout_width="fill_parent" android:layout_height="fill_parent"> 
    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

     <com.google.android.youtube.player.YouTubePlayerView 
      android:id="@+id/youtube_view" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_below="@+id/spnrPSA" > 
     </com.google.android.youtube.player.YouTubePlayerView> 
    </RelativeLayout> 

<com.TransparentPanel 
    android:id="@+id/popup_window" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_gravity="bottom" 
    android:gravity="left" 
    android:orientation="vertical" 
    android:padding="1px" > 

<com.TransparentPanel> 

</RelativeLayout> 

자바 파일 :

public final class PSA extends YouTubeFailureRecoveryActivity{ 
    private Animation animShow, animHide; 

    private YouTubePlayer player; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.psa); 
    initPopup(); 
    } 


    private void initPopup() { 

    final TransparentPanel popup = (TransparentPanel) findViewById(R.id.popup_window); 

    // Start out with the popup initially hidden. 
    popup.setVisibility(View.GONE); 

    if (PubVars.ScreenOrientation==0){ 
     animShow = AnimationUtils.loadAnimation(this, R.anim.popup_show); 
     animHide = AnimationUtils.loadAnimation(this, R.anim.popup_hide); 
    }  

    if (PubVars.ScreenOrientation==1){ 
     animShow = AnimationUtils.loadAnimation(this, R.anim.l_popup_show); 
     animHide = AnimationUtils.loadAnimation(this, R.anim.l_popup_hide); 
    } 
    //animShow = AnimationUtils.loadAnimation(this, R.anim.popup_show); 
    //animHide = AnimationUtils.loadAnimation(this, R.anim.popup_hide); 

    final ImageView showButton = (ImageView) findViewById(R.id.show_popup_button); 
    final ImageView hideButton = (ImageView) findViewById(R.id.hide_popup_button); 
    showButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      popup.setVisibility(View.VISIBLE); 
      popup.startAnimation(animShow); 
      showButton.setEnabled(false); 
      hideButton.setEnabled(true); 
    }}); 

    hideButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      popup.startAnimation(animHide); 
      showButton.setEnabled(true); 
      hideButton.setEnabled(false); 
      popup.setVisibility(View.GONE); 
    }}); 

    } 


} 

내가 간단한 뭔가가 있어야합니다. 미리 감사드립니다, 나는 안드로이드에 상당히 새로운입니다.

+0

나는 이것을 알아 낸 것입니다. YouTube API는 다른 관점에서 초점을 맞추고 플레이어가 게임을 자동으로 중단시키는 것으로 보입니다. 나는 그것이 합리적이라고 생각하지만 실망 스럽다. – nathan

답변

0

이 API는 다른 사람에게 허용하지 않습니다. "레이아웃이 문제" 레이아웃보기에서 레이아웃보기를 사용하는 것이 좋습니다. 내 레이아웃이 플레이어보다 약간의 지점에 있기 때문에 많은 문제가 있습니다.

1

Youtube Player View는 오버레이를 인증하지 않습니다. 투명 레이아웃 (Relative, frame, ..) 인 경우에도 마찬가지입니다. 플레이어가 비디오를 중단하고 logcat에 유용한 정보를 기록합니다. 그러나이 경우는 "youtubeplayer is fully covered"로보고됩니다.

관련 문제