Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了YouTubeAndroidPlayerAPI无法播放一些视频大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
– 更新09/05/2016 17:10 –
这个问题似乎与视频发布的日期有关…在4月的最后一个星期,我在YouTube上发布了许多视频,4月27日19:00发布的视频正常工作,而21:15在同一天有讨论的问题,好像在4月27日的19日和21日之间已经对YouTube的视频进行了一些更新或更改.我试图加载一个新的视频,这也有同样的问题.

我有一个与YouTubeAndroidPlayerAPI的一个奇怪的问题.我使用YouTubePlayerSupportFragment(但我有与YouTubePlayerFragment相同的问题)在我的应用程序播放视频,一些视频播放完美,其他显示错误“播放时出现问题,点击重试. ”.

在Android监视器中发生这种情况时,我会看到YouTube API错误

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应用中播放,则视频可以在官方应用中正确播放.

如果影片有营利活动,广告影片就会显示正常,最后显示错误.

我试过了

>使用YouTubePlayerFragment而不是YouTubePlayerSupportFragment
>使用活动而不是AppCompatActivity
>将视频嵌入HTML页面,它可以正常工作
>取消活动获利,没有变化
>不同的键,一个用于调试,一个用于释放

非常感谢您的帮助!

更新11/05/2016它似乎是一个YouTube错误;目前唯一可以通过的解决方法似乎是打开YouTube官方应用中的视频,或者用WebView替换播放器片段.标准WebView非常有限,不会显示将视频全屏显示的按钮.
您需要创建一个扩展WebChromeClient的类:

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:

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中加载视频:

@H_661_7@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)R_288_11845@ath.round(size.x/1.77)));

解决方法

尝试将您的YouTube应用程式更新为11.19.56版.

大佬总结

以上是大佬教程为你收集整理的YouTubeAndroidPlayerAPI无法播放一些视频全部内容,希望文章能够帮你解决YouTubeAndroidPlayerAPI无法播放一些视频所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。