我想在我的android应用程序中播放管状视频
我在youtube初始化时遇到异常,比如"service_missing"。
我写以下代码,
package com.example.youtubedemo;
import android.os.Bundle;
import android.view.Menu;
import android.widget.Toast;
import com.google.android.youtube.player.*;
import com.google.android.youtube.player.YouTubePlayer.OnInitializedListener;
import com.google.android.youtube.player.YouTubePlayer.Provider;
public class MainActivity extends YouTubeBaseActivity implements OnInitializedListener{
static private final String DEVELOPER_KEY = "MY API KEY";
static private final String VIDEO = https://www.youtube.com/watch?v=d6XXgeAkBfQ&list=PLWz5rJ2EKKc9Wam5jE-9oY8l6RpeAx-XM";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
YouTubePlayerView youTubeView = (YouTubePlayerView)
findViewById(R.id.youtube_view);
youTubeView.initialize(DEVELOPER_KEY, MainActivity.this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onInitializationFailure(Provider arg0,YouTubeInitializationResult error) {
Toast.makeText(this, "Oh no! "+error.toString(),Toast.LENGTH_LONG).show();
Toast.makeText(this, ""+YouTubeInitializationResult.SERVICE_MISSING,Toast.LENGTH_LONG).show();
}
@Override
public void onInitializationSuccess(Provider arg0, YouTubePlayer player,
boolean arg2) {
player.loadVideo(VIDEO);
}
}
我还允许互联网用户使用。
我在4.2.2中用谷歌API AVD测试了这个代码。
android:minSdkVersion="8"
android:targetSdkVersion="17"
有人知道吗??
提前感谢。。。
Android 11的问题是操作系统限制了对其他应用程序的访问。https://developer.android.com/training/basics/intents/package-visibility
在AndroidManifest中添加以下清单标签以修复YouTube问题:
<queries>
<intent>
<action android:name="com.google.android.youtube.api.service.START" />
</intent>
</queries>
如Youtube API的API文档所述:
YouTubeInitializationResult.SERVICE_MISSING
此设备上缺少YouTube API服务。
您需要将Youtube应用程序安装到模拟器中才能使其工作。