2016-05-08 7 views
11

- 更新09/05/2016 17:10 - 問題は動画の公開日と関連しているようです... 4月の最後の週に、 YouTubeでは、4月27日19:00までに公開されたものは正常に機能しますが、同じ日に21:15までに課金された人は、4月27日の19〜21日にYouTubeによる動画。私は今、新しいビデオを読み込もうとしましたが、これも同じ問題を抱えています。YouTubeAndroidPlayerAPIで一部の動画を再生できない


私はエラーが「問題が発生しましたYouTubeAndroidPlayerAPIとの奇妙な問題を抱えている...完全に、私のアプリではいくつかのビデオ再生をビデオを再生するために、私はYouTubePlayerSupportFragmentを使用します(私はYouTubePlayerFragmentと同じ問題を抱えている)、他のショー再生中にタップして再試行してください。 "

05-08 11:25:22.145 20521-20521/? E/YouTubeAndroidPlayerAPI: fmt.noneavailable 
oae: Video not supported/available 
at oab.a(SourceFile:212) 
at nvl.a(SourceFile:383) 
at nvl.a(SourceFile:706) 
at nvr.a(SourceFile:1144 
at nsn.onPostExecute(SourceFile:2102) 
at android.os.AsyncTask.finish(AsyncTask.java:651) 
at android.os.AsyncTask.-wrap1(AsyncTask.java) 
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:668) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:148) 
at android.app.ActivityThread.main(ActivityThread.java:5443) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 

私はYouTubeのアプリでそれを再生するには、ビデオにYouTubeのアイコンをタップすると、ビデオが公式に正しく再生されます。これは、私はYouTubeのAPIエラーを参照してくださいAndroidのモニターに起こる

アプリ。

動画の収益受け取りが有効な場合は、広告動画が正常に表示され、最後にエラーが表示されます。

は、私が試した:

  • 利用YouTubePlayerFragment代わりのYouTubePlayerSupportFragment
  • 利用活動の代わりに、AppCompatActivity
  • 埋め込みHTMLページ内の動画、それは正しく
  • ディアクティブ収益化を働き、何も
  • を変更しません
  • 異なるキー、デバッグ用のものとリリース用のもの

ありがとうございました!


を更新2016年11月5日 YouTubeのバグのようです。現在のところ、この唯一の回避策は、YouTubeの公式アプリで意図を持って動画を開いたり、プレーヤーの断片をWebViewに置き換えたりするように見えます。標準のWebViewは非常に限定されており、ビデオをフルスクリーンにするボタンは表示されません。

public class MyWebChromeClient extends WebChromeClient { 

    FrameLayout.LayoutParams LayoutParameters = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT); 

    @Override 
    public void onShowCustomView(View view, CustomViewCallback callback) { 
     if (mCustomView != null) { 
      callback.onCustomViewHidden(); 
      return; 
     } 
     mContentView = (LinearLayout) findViewById(R.id.scheda_video_activity); 
     mContentView.setVisibility(View.GONE); 
     mCustomViewContainer = new FrameLayout(SchedaVideoActivity.this); 
     mCustomViewContainer.setLayoutParams(LayoutParameters); 
     mCustomViewContainer.setBackgroundResource(android.R.color.black); 
     view.setLayoutParams(LayoutParameters); 
     mCustomViewContainer.addView(view); 
     mCustomView = view; 
     mCustomViewCallback = callback; 
     mCustomViewContainer.setVisibility(View.VISIBLE); 
     setContentView(mCustomViewContainer); 
    } 

    @Override 
    public void onHideCustomView() { 
     if (mCustomView == null) { 
      return; 
     } else { 
      mCustomView.setVisibility(View.GONE); 
      mCustomViewContainer.removeView(mCustomView); 
      mCustomView = null; 
      mCustomViewContainer.setVisibility(View.GONE); 
      mCustomViewCallback.onCustomViewHidden(); 
      mContentView.setVisibility(View.VISIBLE); 
      setContentView(mContentView); 
     } 
    } 
} 

、その後のWebViewを初期化します:あなたはWebChromeClientを拡張するクラスを作成する必要が

WebView myWebView = (WebView)findViewById(R.id.webview); 
MyWebChromeClient mWebChromeClient = new MyWebChromeClient(); 
myWebView.setWebChromeClient(mWebChromeClient); 
myWebView.setWebViewClient(new WebViewClient(){ 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     return false; 
    } 
}); 
WebSettings webSettings = myWebView.getSettings(); 
webSettings.setJavaScriptEnabled(true); 

最後に、WebViewの中にビデオを読み込む:

myWebView.loadUrl("https://www.youtube.com/embed/"+youtube_id); 

WebViewディメンションをYouTubeプレーヤーに適用するには、次のようにします。

Point size = new Point(); 
getWindowManager().getDefaultDisplay().getSize(size); 
myWebView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, (int)Math.round(size.x/1.77))); 
+0

一部のアップデート:YouTubeアプリをバージョン11.10にダウングレードしました。60(以下の答えを参照)、問題は残っています。私は工場出荷時のバージョン、10.28.60にダウングレードし、私はビデオを見ることができない、私はエラーDEVELOPER_KEY_INVALIDを受け取る。 – frabbe

+0

私はそれが助けることができるかどうかわかりませんが、私はYoutubeにアップロードされた最近のビデオでのみこの問題を抱えています。おそらく、最近のフォーマットの変更がこれを引き起こす可能性がありますか? –

+1

はい、この問題は動画の公開日に関連しているようです... 4月の最後の週に、YouTubeに多数の動画を投稿しました。4月27日の19:00までに公開された動画は正しく再生され、同じ日に15日に、4月27日の19日から21日にYouTubeによるビデオの更新や変更が導入されたかのように、問題が議論されました。私は今、新しいビデオを読み込もうとしましたが、これも同じ問題を抱えています。 – frabbe

答えて

0

YouTubeアプリをバージョン11.19.56にアップデートしてみてください。

関連する問題