我已经实现了youtube api,它在常规计算机浏览器中按预期工作.当我在冰淇淋三明治和姜饼中进行测试时,在库存浏览器(也就是Webkit)上,它的工作方式与我的计算机完全相同.
但是,当我将它加载到WebView时,它会遇到一些非常奇怪的行为.具体来说,它加载所有播放器控件(播放按钮,进度条等)并触发所有正常事件以进行缓冲和播放,但随后不是播放,它只是跳到最后并显示标准的YouTube后播放图标其他视频.如果我点击其中一个图标,它会跳过该视频并直接跳到该视频的末尾.
我将setJavascriptEnabled和setPluginsEnabled都设置为true.我假设我遗漏了一些东西,因为它在股票浏览器中都运行良好,但我很难过它是什么.有没有人在WebView中实现了YouTube视频播放器(或JWPlayer,或者我可以播放youtube视频的任何内容)?如果是这样,请分享您如何设法让它发挥作用.
TIA
[编辑]自发布此消息后,我实施了一个直接从YouTube检索视频流的原生播放器.这是令人难以置信的笨重,因为设备之间的碎片与他们可以/不能播放的文件有关*真的很大,而且由于没有办法让YouTube传递设备模型并让它返回相关的流,所以会发生什么流然后必须从数组中选择.无论如何...重点是这只是一个可怕的方法,我真的很想找出好的'嵌入式播放器解决方案,因为它必须工作,因为它在股票浏览器中工作.这可能是标题问题吗?
我正在尝试画一个圆角的矩形.我有一个javascript路径来执行此操作,但javascript arcTo方法采用矩形(以定义其椭圆),然后一个param设置扫描.
但是,在Android版本中有三个参数.矩形椭圆形(我认为我已经正确定义了)然后是startAngle和sweepAngle(我不理解它的用法),但我的弧线看起来并不像我期待的那样当我面对我的方式猜猜他们应该工作.
有谁知道这方面的好教程?
具体来说,我试图理解如果我试图从12 - 3画一个弧(在钟面上),然后假设我有一条线从3开始然后需要在拐角处从3到6等等.
这是我的代码(现在忽略那里的弧数......这只是我猜测它如何工作的最新迭代,在之前的,更明智的尝试中失败了):
Path ctx = new Path();
ctx.moveTo(X+5,Y); //A
ctx.lineTo(X+W-5,Y);//B
ctx.arcTo(new RectF(X+W, Y, X+W, Y+5), -180, 90); //B arc
ctx.lineTo(X+W,Y+H-5); //C
ctx.arcTo(new RectF(X+W,Y+H,X+W-5,Y+H),90,180); //C arc
ctx.lineTo(X+W/2 +6,Y+H);
ctx.lineTo(X+W/2,Y+H+8);
ctx.lineTo(X+W/2-6,Y+H);
ctx.lineTo(X+5,Y+H);
ctx.arcTo(new RectF(X,Y+H,X,Y+H-5),180,270);
ctx.lineTo(X,Y+5);
ctx.arcTo(new RectF(X,Y,X+5,Y),270,0);
Paint p = new Paint();
p.setColor(0xffff00ff);
canvas.drawPath(ctx, p);
Run Code Online (Sandbox Code Playgroud)
非常感谢.
我试图通过单击菜单按钮调用startActivity(myIntent),但我的应用程序在此时崩溃.
从常规按钮单击开始,相同的startActivity调用工作正常,因此,我假设菜单按钮缺少有关上下文的信息?或许我在这里完全不合适.
那么......将菜单项带到特定活动的正确方法是什么?
我已根据最初的建议修改了我的代码.仍然在同一个地方崩溃.调试器不会输入异常子句,应用程序就会死掉.
[编辑代码链接]
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
try{
switch (item.getItemId()) {
case R.id.menuItemLang:
startActivity(new Intent("com.my.project.SETTINGS"));
return true;
default:
return super.onOptionsItemSelected(item);
}
}catch(Exception e){
log(e);
}
}
Run Code Online (Sandbox Code Playgroud) 我不确定这是否可能,但如果它是......我无法弄清楚如何做到这一点
我想从一个函数返回的数组中获取一个特定的元素,而不是先将它传递给一个数组......就像这样......
$item = getSomeArray()[1];
function getSomeArray(){
$ret = Array();
$ret[0] = 0;
$ret[1] = 100;
return $ret;
}
Run Code Online (Sandbox Code Playgroud)
这个的正确语法是什么?
我知道这this = null是非法的.
我想知道是否有其他方法可以让对象自行清理.
我的愿望是能够做到这样的事情:
A a = new A();
a.doStuffAndDisappear();
if(a == null){
//this is true after my doStuffAndDisappear() method.
}
Run Code Online (Sandbox Code Playgroud)
我怀疑没有办法让这种情况发生,但我认为值得一提.
我见过一些示例,您可以将其更改为预设的操作系统图像; 例:
$('body').css('cursor', 'wait');
Run Code Online (Sandbox Code Playgroud)
但是我自己的/img/my_image.png怎么样?
谢谢你的帮助.
我看到所有停止和销毁以及处理清理方法的任何其他内容都已被弃用.
如果我有一个新的Thread()或一个扩展Thread运行的类,我是否需要在run()方法中做任何事情,而不是让它到达常规执行的末尾?或者是否有一个后台机制可以理解Thread已经完成了所有任务并且可以被销毁?
我刚刚更新了我的SDK,现在eclipse在我的xml中给了我各种完全不需要的警告...例如我有一个没有id或背景的RelativeLayout(它实际上是一个透明按钮)和日食警告我,这是一个无用的元素.有没有办法把这个白痴关掉?
TIA
我有一个扩展Spinner的自定义View类.当用户做出选择时,我正在试图找出与嵌入的Activity对话的正确方法.我看到OnItemSelected监听器获得了对Adapter的引用,但是我不清楚我是否应该使用这个适配器并以某种方式走向它的父链,或者我是否应该直接与上下文对话(由于某种原因)即使我无法想到一种可能会失败的方式,也不会感到安全.
我在Perl中运行DBI并且无法弄清楚当我运行预准备语句时,我可以判断返回的行数是否为0.
我意识到我可以在我的while循环中设置一个计数器来获取我的行,但我希望有一个不那么难看的方法.