【发布时间】:2018-06-24 18:14:30
【问题描述】:
为了在我的应用中播放视频,我决定扩展 YouTube Android Player API。但问题是我的菜单消失了,因为我没有从 AppCompatActivity 扩展。问题是:如何使用 YouTube Android Player API 并在应用中有菜单?
public class TutorialsActivity extends YouTubeBaseActivity {
private YouTubePlayerView youTubePlayerView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.youtube);
youTubePlayerView = (YouTubePlayerView) findViewById(R.id.video1);
youTubePlayerView.initialize(API_KEY, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
youTubePlayer.loadVideo("c9q88492aas");
youTubePlayer.setPlayerStyle(YouTubePlayer.PlayerStyle.MINIMAL);
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
}
});
}
XML
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/video1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
当我从 AppCompatActivity 扩展时,它只会给我一个错误。
错误日志:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.hyber.app/com.hyber.app.TutorialsActivity}: android.view.InflateException: Binary XML file line #12: Binary XML file line #12: Error inflating class com.google.android.youtube.player.YouTubePlayerView
【问题讨论】:
-
不扩展AppCompatActivity的原因是什么?
-
@PierfrancescoSoffritti 它崩溃了,我在描述中添加了日志。
-
@Nikolai 请看我的回答here。
-
我之前也尝试过,但无法做到,所以我在对话框中实现了它,如果您需要帮助在对话框中实现它,请告诉我。
标签: android android-youtube-api