我想在片段中播放视频.但是,我无法让它发挥作用.如果我正在扩展'YoutubeFailureRecovery',我得到:
09-06 21:56:40.472:E/AndroidRuntime(4946):引起:java.lang.IllegalStateException:只能使用将YouTubeBaseActivity扩展为其上下文的Activity创建YouTubePlayerView.
这是我的.xml:
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/player"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)
这是班级:
public class YoutubeFragment extends YoutubeFailureRecovery {
YouTubePlayer player;
YouTubePlayerView playerView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle arg2) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.detailview, container, false);
}
@Override
public void onStart() {
// TODO Auto-generated method stub
super.onStart();
playerView = (YouTubePlayerView)getActivity().findViewById(R.id.player);
playerView.initialize(DataHolder.DEVELOPER_KEY, this);
}
@Override
public void onInitializationSuccess(Provider provider, YouTubePlayer player,
boolean wasRestored) {
// TODO Auto-generated method stub
player.cueVideo("nCgQDjiotG0");
}
@Override
protected Provider getYouTubePlayerProvider() {
// TODO …Run Code Online (Sandbox Code Playgroud) 我使用以下活动从我的应用中启动了YouTube视频.启动活动后,将播放YouTube视频.但是当我改变屏幕的方向时,视频没有恢复,而是从头开始.这是什么问题?
package com.example.blahblah;
import android.content.res.Configuration;
import android.os.Bundle;
import android.widget.Toast;
import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayer.Provider;
import com.google.android.youtube.player.YouTubePlayerView;
public class YTPlayActivity extends YouTubeBaseActivity implements
YouTubePlayer.OnInitializedListener {
static private String yt_sk;
static private final String DEVELOPER_KEY = "my-api-key";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.yt_player);
Bundle extras = getIntent().getExtras();
yt_sk = extras.getString("yt_sk");
YouTubePlayerView youTubeView = (YouTubePlayerView)
findViewById(R.id.youtube_view);
youTubeView.initialize(DEVELOPER_KEY, this);
}
@Override
public void onInitializationFailure(Provider provider,
YouTubeInitializationResult error) {
Toast.makeText(this, "Oh no! "+error.toString(),
Toast.LENGTH_LONG).show();
}
@Override
public void onInitializationSuccess(Provider provider, …Run Code Online (Sandbox Code Playgroud) 我试图在片段中使用Youtube播放器支持片段,但应用程序总是崩溃(NullPointerException),我无法找到任何类似的帖子来修复它.
我有导入导入android.support.v4.app.Fragment所以不应该是问题.
这是我的片段类的样子:
package com.example.activitydetector;
import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayer.OnInitializedListener;
import com.google.android.youtube.player.YouTubePlayer.Provider;
import com.google.android.youtube.player.YouTubePlayerFragment;
import com.google.android.youtube.player.YouTubePlayerSupportFragment;
import com.google.android.youtube.player.YouTubePlayerView;
import systemManager.SystemManager;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;
public class GuidelinesFragment extends YouTubePlayerSupportFragment {
SystemManager sm;
YouTubePlayerView youTubeView;
String URL_VIDEO = "CaA-k1l0xa4";
String KEY_DEVELOPER = "AIzaSyBIIs0u0NXhsZguv8nCNvSzUmflTt7K1Ek";
public GuidelinesFragment() {
super();
// TODO Auto-generated constructor stub
}
public void onCreate(Bundle savedInstanceState) { …Run Code Online (Sandbox Code Playgroud) youtube android youtube-api android-fragments android-youtube-api
使用Android Youtube api我想在我的应用主要活动中播放两个视频而不使用片段我们在一个活动中对这个多个Youtube播放器有同样的问题,但是没有可接受的答案,请帮助我们.
activity_main.xml中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/video1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/video2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)
MainActivity.java
package com.apps.you;
import android.os.Bundle;
import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayer.Provider;
import com.google.android.youtube.player.YouTubePlayerView;
public class MainActivity extends YouTubeBaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
((YouTubePlayerView) findViewById(R.id.video1)).initialize("AIzaSyBmb9Yqu9vEBXjNOrBmZZ__6s12RH5RSv0", new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(Provider provider1, YouTubePlayer player1, boolean restored1) {
if (!restored1) {
player1.cueVideo("Daa38ruXHxE");
}
}
@Override
public void onInitializationFailure(Provider provider1, YouTubeInitializationResult …Run Code Online (Sandbox Code Playgroud) 使用Eclipse Memory Analyzer我发现如果我在2个活动(例如A和B)之间来回切换,虽然调用了活动B的onDestroy方法,但GC从不将其从内存中删除,所以我在内存中有多个Activity B实例.我发现问题出在在YouTubePlayerFragment实例上调用的initialize方法中.这是代码:
YouTubePlayerFragment ytpf =(YouTubePlayerFragment) getFragmentManager().findFragmentById(R.id.youtube_fragment);
ytpf.initialize(DEVELOPER_KEY,this);
Run Code Online (Sandbox Code Playgroud)
this是片段发生和实现的活动YouTubePlayer.OnInitializedListener.
如何释放在initialize方法上传递的回调?
我试着打电话youtubePlayer.release()但问题仍然存在.
使用YouTube Android应用程序,360度视频支持使用陀螺仪平移视频,这是惊人的.在应用中使用YouTubeStandalonePlayer或YouTubePlayerView时,这是否可行?
我使用YoutubeServie API在我的Android应用程序中播放youtube视频.然而,当我退出我的活动时,我发现下面的崩溃日志显示,甚至我的应用程序仍然有效.
02-28 15:54:02.081 20374-20374/? E/ActivityThread: Service com.google.android.youtube.api.service.YouTubeService has leaked IntentReceiver com.google.android.libraries.youtube.player.audiofocus.HeadsetPlugReceiver@a843e7c that was originally registered here. Are you missing a call to unregisterReceiver()?
android.app.IntentReceiverLeaked: Service com.google.android.youtube.api.service.YouTubeService has leaked IntentReceiver com.google.android.libraries.youtube.player.audiofocus.HeadsetPlugReceiver@a843e7c that was originally registered here. Are you missing a call to unregisterReceiver()?
at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:898)
at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:699)
at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1637)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1617)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1611)
at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:488)
at com.google.android.libraries.youtube.player.service.PlaybackService.<init>(PlaybackService.java:5034)
at com.google.android.libraries.youtube.player.PlayerInjector$12.create(PlayerInjector.java:1602)
at com.google.android.libraries.youtube.common.util.Lazy.get(Lazy.java:136)
at com.google.android.libraries.youtube.player.PlayerInjector.getPlaybackService(PlayerInjector.java:575)
at com.google.android.apps.youtube.api.ApiPlayer.moveToForeground(ApiPlayer.java:493)
at com.google.android.apps.youtube.api.ApiPlayer.<init>(ApiPlayer.java:150)
at com.google.android.apps.youtube.api.service.jar.ApiPlayerService.<init>(ApiPlayerService.java:131)
at com.google.android.apps.youtube.api.service.jar.ApiPlayerFactoryService$1.run(ApiPlayerFactoryService.java:86)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at …Run Code Online (Sandbox Code Playgroud) 我正在尝试为自己开发一个应用程序,它将在Youtube应用程序中下载视频播放的音频版本.我几乎找到了所有其他内容,我想要的是获取在Youtube应用中播放的视频的网址.
所以,这个问题可分为两部分: -
甚至可以在没有youtube的任何特殊许可的情况下获取视频的网址(不,我不想每次都复制和粘贴视频,而是喜欢通过代码来做).还有其他应用程序正在执行类似的操作,例如voodoo应用程序,它可以自动显示同一产品在其他电子商务网站上的选项.因此,它必须以某种方式跟踪来自父应用程序的产品URL.
Google可以阻止我在Play商店发布我的应用吗?因为它下载了歌曲的音频版本.我搜索了但Play商店中没有youtube下载器.
提前致谢 :)
我正在制作一个显示360视频的网页,但我最近注意到Android浏览器中的360功能不受支持,因此视频无法正确显示,所以经过大量搜索我发现最好的选择是尝试使用本开发人员教程中解释的"Android Intent"在YouTube应用中打开视频:
https://developer.chrome.com/multidevice/android/intents
所以我需要为YouTube视频构建href地址,但遗憾的是我不知道android编程,也无法找到YouTube App xml清单来填充选项,任何人都可以帮助我吗?
intent:
HOST/URI-path <-- I think here needs to be the video URL?
#Intent;
package=com.google.android.youtube.player.YouTubeIntents; <-- Is this the correct package? or should i use com.google.android.youtube.player?
action=createPlayVideoIntentWithOptions(context, UUweNrpFTwA, true, true); <-- Dont know what to put in context field
category=[string]; <-- Is category needed? if so what category should i place here?
component=[string]; <-- Is component needed?
scheme=youtube; <-- Is this the correct scheme?
end;
Run Code Online (Sandbox Code Playgroud)
任何帮助或教程将不胜感激...谢谢!!
I am developing one android application. In this application I want youtube video play with youtube player in ListView or RecyclerView with AppCompatActivity. I have used YouTubeBaseActivity it is working well with this, but I need AppCompatActivity. So I used YouTubePlayerFragmentor YouTubePlayerSupportFragment for solving my problem.
When I am using YouTubePlayerFragment with AppCompatActivity then its working well. But I want to use this in ListView, but I'm getting following error.
android.view.InflateException: Binary XML file line #8: …Run Code Online (Sandbox Code Playgroud) android ×9
youtube-api ×4
java ×3
youtube ×2
android-view ×1
html ×1
json ×1
listview ×1
memory-leaks ×1