我正在主持一个会议网站,如果你在中国,我想嵌入一个优酷视频,否则就是YouTube视频.会议网站通过长城防火墙内的CDN提供服务.我被给了下面的代码来切换优酷的内部和外部版本.
不幸的是,在防火墙内部似乎无法访问ipinfo.io,因此代码会在10秒后超时.
我已经考虑过重写页面以默认使用优酷视频,编写一个试图访问YouTube的小型非阻止JavaScript功能.如果可以,请用YouTube替换优酷.如果不能,则无害地退出.这样,YouTube的可达性成为关键考验,而不是你是否在中国.
或者,我曾考虑在我的网站上托管视频,以便通过防火墙内的CDN进行复制.但是,这意味着即使您的连接速度很慢,也始终以全分辨率下载视频.
关于如何在优酷和Youtube之间切换的更好的建议,或者更普遍的是在中国国内外都可以播放视频?
jQuery.get("https://ipinfo.io", function(response) {
var country = response.country;
if(country == 'CN') {
youku.attr('src',chinaVideo)
} else {
youku.attr('src',generalVideo)
}
}, "jsonp");
Run Code Online (Sandbox Code Playgroud) 我必须在我的Android应用程序中使用优酷播放器库并执行所需的一切.加入YoukuPlayerConfig我的Application班级
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
YoukuPlayerConfig.setLog(false);
YoukuPlayerConfig.setClientIdAndSecret(CLIENT_ID_WITH_AD, CLIENT_SECRET_WITH_AD);
YoukuPlayerConfig.onInitial(this);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的AndroidManifest.xml文件中添加所有权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
Run Code Online (Sandbox Code Playgroud)
但收到此错误:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.randa.android-1/base.apk"],nativeLibraryDirectories=[/data/app/com.randa.android-1/lib/x86, /data/app/com.example.android-1/base.apk!/lib/x86, /system/lib, /vendor/lib]]] couldn't find "libnetcache.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:972)
at java.lang.System.loadLibrary(System.java:1530)
at com.youku.uplayer.NetCache.<clinit>(NetCache.java:17)
at com.youku.uplayer.NetCache.SetUserAgent(Native Method)
at com.youku.uplayer.PlayerNetCache.setUserAgent(PlayerNetCache.java:32)
at com.youku.cloud.playercore.PlayerCoreManager.initNetCache(PlayerCoreManager.java:48) …Run Code Online (Sandbox Code Playgroud) 我正在尝试将优酷功能添加到网站中,以便与图库中的其他视频并排放置。
我正在使用在https://cloud.youku.com/docs和https://cloud.youku.com/tools找到的文档(我一直依赖谷歌翻译作为我对中文的理解是不存在的!)
第二个链接建议了这样的片段:
<div id="youkuplayer" style="width:480px;height:400px"></div>
<script type="text/javascript" src="//player.youku.com/jsapi"></script>
var player = new YKU.Player('youkuplayer',{
styleid: '0',
client_id: 'MY_CLIENT_ID',
vid: 'XMzA2ODI5MjAwNA==',
newPlayer: true
});
function pauseVideo() {
player.pauseVideo();
}
Run Code Online (Sandbox Code Playgroud)
但是,该pauseVideo方法不起作用,抛出Cannot read property 'pauseVideo' of null"错误
在其他文档中我找到了一个events参数,但这对我来说也不起作用。
有人有过以编程方式控制优酷视频的经验吗?